Coder Social home page Coder Social logo

peeps's People

Contributors

amikula avatar demetrodon avatar esasse avatar jpendry avatar lgebhardt avatar thinkerbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

peeps's Issues

Add examples of tests

I'm struggling to figure out how to write tests for JSON API resources. Any suggestions?

CORS example

Following along with a basic tutorial for jsonapi-resources, I got stuck on the Ember.js side when I tried to load data:

[Report Only] Refused to connect to 'http://localhost:3000/articles/1/author' because it violates the following Content Security Policy directive: "connect-src 'self' ws://localhost:49152 ws://0.0.0.0:49152 http://0.0.0.0:4200/csp-report".

XMLHttpRequest cannot load http://localhost:3000/articles/2/author. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.

Would make sense to add a demo of utilizing https://github.com/cyu/rack-cors (or similar) to configure the Rails side of things. If this is in the demo, I can't find it.

Might even be pretty sweet to include rack-cors as a dependency and provide a reasonable default setup.

Unable to save a phone number when using UUIDs

I tried recreating Peeps as the tutorial suggests in README.md with only one (1) difference: using UUIDs instead of Int Primary keys.

I was able to go to the point of creating items while testing the APIs.
This is where I am currently stuck; I am unable to create a phone number.

It keeps giving a response that the field value is invalid.
Code: 103
Status: 400"
Detail: "bc846a91-e442-4a12-aa4a-7f218e85e1f4 is not a valid value for id."

SIDE NOTE:
I even created a second contact and tried using his UUID instead but to no avail.

SCREENSHOT
tiny-peeps-error-b

linkage broken?

Hello!

I followed along with the tutorial and believe I have run into an issue.

The third to last step lists the curl command as follows: curl -i -H "Accept: application/vnd.api+json" "http://localhost:3000/contacts?include=phone-numbers" This is supposed to result in a json reply that contains direct phone number information. However, running that code results in a linkage of "[]":

{"data":[{"id":"1","name-first":"John","name-last":"Doe","email":"[email protected]","twitter":null,"type":"contacts","links":{"self":"http://localhost:3000/contacts/1","phone-numbers":{"self":"http://localhost:3000/contacts/1/links/phone-numbers","related":"http://localhost:3000/contacts/1/phone-numbers","linkage":[]}}}]}

The second to last step lists the following curl command: curl -i -H "Accept: application/vnd.api+json" "http://localhost:3000/contacts?include=phone-numbers&fields%5Bcontacts%5D=name-first,name-last&fields%5Bphone-numbers%5D=name" This correctly displays the fields, but the phone number is nowhere to be found:

{"data":[{"name-first":"John","name-last":"Doe","type":"contacts","id":"1","links":{"self":"http://localhost:3000/contacts/1"}}]}

Retrieving the full list of phone numbers results in the following:
{"data":[{"id":"1","name":"home","phone-number":"(513)377-7911","type":"phone_numbers","links":{"self":"http://localhost:3000/phone-numbers/1","contact":{"self":"http://localhost:3000/phone-numbers/1/links/contact","related":"http://localhost:3000/phone-numbers/1/contact","linkage":null}}}]}

In all cases, linkage and directly embedding link information appears to be broken. Have I done something wrong?

Problem with Curl

I followed your instructions exactly and yet I'm getting an error when trying to create a new contact. Please recognize I'm a complete novice. I'm running on Windows 10.

When I run the command:
curl -i --trace-ascii debugdump.txt -H "Accept: application/vnd.api+json" -H 'Content-Type:application/vnd.api+json' -X POST -d '{"data": {"type":"contacts", "attributes":{"name-first":"John", "name-last":"Doe", "email":"[email protected]"}}}' http://localhost:3000/contacts

I get the following:
curl: (3) [globbing] unmatched brace in column 1
curl: (3) [globbing] unmatched brace in column 12
Note: Unnecessary use of -X or --request, POST is already inferred.
curl: (3) Illegal port number
curl: (3) [globbing] unmatched close brace/bracket in column 27
Note: Unnecessary use of -X or --request, POST is already inferred.
HTTP/1.1 415 Unsupported Media Type
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/vnd.api+json; charset=utf-8
Cache-Control: no-cache
X-Request-Id: e9cbc755-a03c-49cd-be92-2c45e00e7aea
X-Runtime: 0.049923
Transfer-Encoding: chunked

{"errors":[{"title":"Unsupported media type","detail":"All requests that create or update must use the 'application/vnd.api+json' Content-Type. This request specified 'application/x-www-form-urlencoded'.","code":"415","status":"415"}]}

Here is my Gemfile:
source 'https://rubygems.org'

git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end

gem 'rails', '> 5.0.1'
gem 'pg', '
> 0.18'
gem 'puma', '> 3.0'
gem 'sass-rails', '
> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'jbuilder', '~> 2.5'
gem 'jsonapi-resources'

gem 'thor', '0.19.1'

group :development, :test do
gem 'byebug', platform: :mri
end

group :development do
gem 'web-console', '>= 3.3.0'
end

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Here is my debug file from running curl:
== Info: Rebuilt URL to: name-last:Doe,/
== Info: Illegal port number
== Info: Closing connection -1
== Info: Trying ::1...
== Info: TCP_NODELAY set
== Info: Trying 127.0.0.1...
== Info: TCP_NODELAY set
== Info: Connected to localhost (127.0.0.1) port 3000 (#0)
=> Send header, 217 bytes (0xd9)
0000: POST /contacts HTTP/1.1
0019: Host: localhost:3000
002f: User-Agent: curl/7.52.1
0048: Accept: application/vnd.api+json
006a: 'Content-Type:application/vnd.api+json'
0093: Content-Length: 7
00a6: Content-Type: application/x-www-form-urlencoded
00d7:
=> Send data, 7 bytes (0x7)
0000: '{data:
== Info: upload completely sent off: 7 out of 7 bytes
<= Recv header, 37 bytes (0x25)
0000: HTTP/1.1 415 Unsupported Media Type
<= Recv header, 29 bytes (0x1d)
0000: X-Frame-Options: SAMEORIGIN
<= Recv header, 33 bytes (0x21)
0000: X-XSS-Protection: 1; mode=block
<= Recv header, 33 bytes (0x21)
0000: X-Content-Type-Options: nosniff
<= Recv header, 55 bytes (0x37)
0000: Content-Type: application/vnd.api+json; charset=utf-8
<= Recv header, 25 bytes (0x19)
0000: Cache-Control: no-cache
<= Recv header, 52 bytes (0x34)
0000: X-Request-Id: f1367df0-abdf-4571-9490-438d9731c3f2
<= Recv header, 21 bytes (0x15)
0000: X-Runtime: 0.035518
<= Recv header, 28 bytes (0x1c)
0000: Transfer-Encoding: chunked
<= Recv header, 2 bytes (0x2)
0000:
<= Recv data, 246 bytes (0xf6)
0000: eb
0004: {"errors":[{"title":"Unsupported media type","detail":"All reque
0044: sts that create or update must use the 'application/vnd.api+json
0084: ' Content-Type. This request specified 'application/x-www-form-u
00c4: rlencoded'.","code":"415","status":"415"}]}
00f1: 0
00f4:
== Info: Curl_http_done: called premature == 0
== Info: Connection #0 to host localhost left intact

Help on override a create method

Hi, I have created my Resources files but I'm missing one part (still understanding how this part works)

I have a resources that PUTs a URL into my database using the following sentence =>

curl -i -H "Accept: application/vnd.api+json" -H 'Content-Type:application/vnd.api+json' -X POST -d '{"data": {"type":"urls", "attributes":{"url":"http://www.myurl.com"}}}' http://localhost:3001/api/v1/urls

My question is:
How do I allow my controller (or resource) to parse the HTML and extract some tags from it?

I created the following method on my urls_controller just to test if it works:

def create
@url = Url.new(params[:data])
parse_url = Nokogiri::HTML(open(params[:data][:attributes][:url].to_s))
puts parse_url.class # => Nokogiri::HTML::Document
@url.save
end

but my console shows this error

ActiveModel::ForbiddenAttributesError (ActiveModel::ForbiddenAttributesError):
app/controllers/api/v1/urls_controller.rb:7:in `create'

and the URL is not printed on my console nor the url is saved on my urls table.

Any suggestion?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.