restfolia-uritemplate 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ {
2
+ "value": 10,
3
+ "name": "Test",
4
+ "query": null,
5
+ "tested": false,
6
+ "links": [
7
+ {
8
+ "href": "http://local.tester.anti.bug/{term:1}/{term}",
9
+ "rel": "search",
10
+ "type": "application/json"
11
+ },
12
+ {
13
+ "href": "http://local.tester.anti.bug/foo{?query,number}",
14
+ "rel": "another_search",
15
+ "type": "application/json"
16
+ },
17
+ {
18
+ "href": "http://local.tester.anti.bug/resource/index",
19
+ "rel": "self",
20
+ "type": "application/json"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,28 @@
1
+ require "spec/spec_helper"
2
+
3
+ describe Restfolia::EntryPoint do
4
+
5
+ context "should apply expansion with valid expression" do
6
+ subject { Restfolia::EntryPoint.new("http://example.com/~{username}/", "search").expand(:username => "bug") }
7
+
8
+ its(:class) { should == Restfolia::EntryPoint }
9
+ its(:url) { should == "http://example.com/~bug/" }
10
+ its(:rel) { should be_nil }
11
+ end
12
+
13
+ it "should raise exception when url is empty" do
14
+ ep = Restfolia::EntryPoint.new("", "search")
15
+ lambda { ep.expand(:teste => false) }.should raise_error ArgumentError, Restfolia::Uritemplate::ExpansionSupport::INVALID_URL
16
+ end
17
+
18
+ it "should raise exception when url is invalid" do
19
+ ep = Restfolia::EntryPoint.new("@@bla", "search")
20
+ lambda { ep.expand(:teste => false) }.should raise_error ArgumentError, Restfolia::Uritemplate::ExpansionSupport::INVALID_URL
21
+ end
22
+
23
+ it "should raise exception when params is not a valid hash" do
24
+ ep = Restfolia::EntryPoint.new("http://example.com/~{username}/", "search")
25
+ lambda { ep.expand(:what) }.should raise_error ArgumentError, Restfolia::Uritemplate::ExpansionSupport::INVALID_PARAMETER
26
+ end
27
+
28
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec/spec_helper'
2
+
3
+ describe Restfolia do
4
+
5
+ let(:url) { "http://local.tester.anti.bug/resource/index" }
6
+ before { register_uri(:get, url, :body => fixture('index.json')) }
7
+
8
+ subject { Restfolia.at(url).get.links('search').expand(:term => "dog") }
9
+
10
+ its(:class) { should == Restfolia::EntryPoint }
11
+ its(:url) { should == "http://local.tester.anti.bug/d/dog" }
12
+ its(:rel) { should be_nil }
13
+
14
+ end
@@ -0,0 +1,22 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'restfolia_uritemplate'
5
+ require 'fakeweb'
6
+
7
+ # Requires supporting files with custom matchers and macros, etc,
8
+ # in ./support/ and its subdirectories.
9
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ FakeWeb.allow_net_connect = false
13
+
14
+ def fixture(name)
15
+ File.readlines("#{File.dirname(__FILE__)}/fixtures/#{name}").to_s
16
+ end
17
+
18
+ def register_uri(method, uri, options = {})
19
+ options.merge!(:content_type => "application/json; charset=utf-8") if options[:content_type].nil?
20
+ FakeWeb.register_uri(method, uri, options)
21
+ end
22
+ end
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: restfolia-uritemplate
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Nadilson
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-06-12 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ prerelease: false
22
+ type: :runtime
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 21
29
+ segments:
30
+ - 1
31
+ - 0
32
+ - 1
33
+ version: 1.0.1
34
+ requirement: *id001
35
+ name: restfolia
36
+ - !ruby/object:Gem::Dependency
37
+ prerelease: false
38
+ type: :runtime
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 19
45
+ segments:
46
+ - 0
47
+ - 3
48
+ - 0
49
+ version: 0.3.0
50
+ requirement: *id002
51
+ name: uri_template
52
+ - !ruby/object:Gem::Dependency
53
+ prerelease: false
54
+ type: :development
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - "="
59
+ - !ruby/object:Gem::Version
60
+ hash: 27
61
+ segments:
62
+ - 1
63
+ - 3
64
+ - 0
65
+ version: 1.3.0
66
+ requirement: *id003
67
+ name: fakeweb
68
+ - !ruby/object:Gem::Dependency
69
+ prerelease: false
70
+ type: :development
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ requirement: *id004
81
+ name: rake
82
+ - !ruby/object:Gem::Dependency
83
+ prerelease: false
84
+ type: :development
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ hash: 47
91
+ segments:
92
+ - 2
93
+ - 8
94
+ - 0
95
+ version: 2.8.0
96
+ requirement: *id005
97
+ name: rspec
98
+ description: Adds support to uri-templates in the dsl restfolia. See http://tools.ietf.org/html/rfc6570
99
+ email: nadilsons@gmail.com
100
+ executables: []
101
+
102
+ extensions: []
103
+
104
+ extra_rdoc_files: []
105
+
106
+ files:
107
+ - spec/fixtures/index.json
108
+ - spec/lib/restfolia/entry_point_spec.rb
109
+ - spec/lib/restfolia_spec.rb
110
+ - spec/spec_helper.rb
111
+ homepage: https://github.com/nadilsons/restfolia-uritemplate
112
+ licenses: []
113
+
114
+ post_install_message:
115
+ rdoc_options: []
116
+
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ version: "0"
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
137
+ requirements: []
138
+
139
+ rubyforge_project: restfolia-uritemplate
140
+ rubygems_version: 1.8.22
141
+ signing_key:
142
+ specification_version: 3
143
+ summary: Adds support to uri-templates in the dsl restfolia
144
+ test_files:
145
+ - spec/fixtures/index.json
146
+ - spec/lib/restfolia/entry_point_spec.rb
147
+ - spec/lib/restfolia_spec.rb
148
+ - spec/spec_helper.rb