active_rest_client 0.9.58
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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/.simplecov +4 -0
- data/Gemfile +4 -0
- data/Guardfile +9 -0
- data/LICENSE.txt +22 -0
- data/README.md +585 -0
- data/Rakefile +3 -0
- data/active_rest_client.gemspec +34 -0
- data/lib/active_rest_client.rb +23 -0
- data/lib/active_rest_client/base.rb +128 -0
- data/lib/active_rest_client/caching.rb +84 -0
- data/lib/active_rest_client/configuration.rb +69 -0
- data/lib/active_rest_client/connection.rb +76 -0
- data/lib/active_rest_client/connection_manager.rb +21 -0
- data/lib/active_rest_client/headers_list.rb +47 -0
- data/lib/active_rest_client/instrumentation.rb +62 -0
- data/lib/active_rest_client/lazy_association_loader.rb +95 -0
- data/lib/active_rest_client/lazy_loader.rb +23 -0
- data/lib/active_rest_client/logger.rb +67 -0
- data/lib/active_rest_client/mapping.rb +65 -0
- data/lib/active_rest_client/proxy_base.rb +143 -0
- data/lib/active_rest_client/recording.rb +24 -0
- data/lib/active_rest_client/request.rb +412 -0
- data/lib/active_rest_client/request_filtering.rb +52 -0
- data/lib/active_rest_client/result_iterator.rb +66 -0
- data/lib/active_rest_client/validation.rb +60 -0
- data/lib/active_rest_client/version.rb +3 -0
- data/spec/lib/base_spec.rb +245 -0
- data/spec/lib/caching_spec.rb +179 -0
- data/spec/lib/configuration_spec.rb +105 -0
- data/spec/lib/connection_manager_spec.rb +36 -0
- data/spec/lib/connection_spec.rb +73 -0
- data/spec/lib/headers_list_spec.rb +61 -0
- data/spec/lib/instrumentation_spec.rb +59 -0
- data/spec/lib/lazy_association_loader_spec.rb +118 -0
- data/spec/lib/lazy_loader_spec.rb +25 -0
- data/spec/lib/logger_spec.rb +63 -0
- data/spec/lib/mapping_spec.rb +48 -0
- data/spec/lib/proxy_spec.rb +154 -0
- data/spec/lib/recording_spec.rb +34 -0
- data/spec/lib/request_filtering_spec.rb +72 -0
- data/spec/lib/request_spec.rb +471 -0
- data/spec/lib/result_iterator_spec.rb +104 -0
- data/spec/lib/validation_spec.rb +113 -0
- data/spec/spec_helper.rb +22 -0
- metadata +265 -0
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ActiveRestClient::ResultIterator do
|
4
|
+
it "should be able to have a status set during creation" do
|
5
|
+
result = ActiveRestClient::ResultIterator.new(200)
|
6
|
+
expect(result._status).to eq(200)
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should be able to have a status set after creation" do
|
10
|
+
result = ActiveRestClient::ResultIterator.new
|
11
|
+
result._status = 200
|
12
|
+
expect(result._status).to eq(200)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should remember objects given to it" do
|
16
|
+
result = ActiveRestClient::ResultIterator.new
|
17
|
+
result << "a"
|
18
|
+
result.each do |element|
|
19
|
+
expect(element).to eq("a")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should implement first" do
|
24
|
+
result = ActiveRestClient::ResultIterator.new
|
25
|
+
result << "a"
|
26
|
+
result << "z"
|
27
|
+
expect(result.first).to eq("a")
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should implement any?" do
|
31
|
+
result = ActiveRestClient::ResultIterator.new
|
32
|
+
expect(result.any?).to be_false
|
33
|
+
result << "a"
|
34
|
+
expect(result.any?).to be_true
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should implement items" do
|
38
|
+
result = ActiveRestClient::ResultIterator.new
|
39
|
+
result << "a"
|
40
|
+
result << "ab"
|
41
|
+
expect(result.items).to eq(["a","ab"])
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should implement last" do
|
45
|
+
result = ActiveRestClient::ResultIterator.new
|
46
|
+
result << "a"
|
47
|
+
result << "z"
|
48
|
+
expect(result.last).to eq("z")
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should implement size" do
|
52
|
+
result = ActiveRestClient::ResultIterator.new
|
53
|
+
result << "a"
|
54
|
+
result << "z"
|
55
|
+
expect(result.size).to eq(2)
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should implement index" do
|
59
|
+
result = ActiveRestClient::ResultIterator.new
|
60
|
+
result << "a"
|
61
|
+
result << "z"
|
62
|
+
expect(result.index("z")).to eq(1)
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should implement empty?" do
|
66
|
+
result = ActiveRestClient::ResultIterator.new
|
67
|
+
expect(result.empty?).to be_true
|
68
|
+
result << "a"
|
69
|
+
result << "z"
|
70
|
+
expect(result.empty?).to be_false
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should implement direct index access" do
|
74
|
+
result = ActiveRestClient::ResultIterator.new
|
75
|
+
result << "a"
|
76
|
+
result << "z"
|
77
|
+
expect(result[0]).to eq("a")
|
78
|
+
expect(result[1]).to eq("z")
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should implement shuffle" do
|
82
|
+
result = ActiveRestClient::ResultIterator.new
|
83
|
+
100.times do |n|
|
84
|
+
result << n
|
85
|
+
end
|
86
|
+
expect(result.shuffle.first == result.shuffle.first && result.shuffle.first == result.shuffle.first).to_not be_true
|
87
|
+
end
|
88
|
+
|
89
|
+
it "can parallelise calls to each item" do
|
90
|
+
result = ActiveRestClient::ResultIterator.new
|
91
|
+
result << 3
|
92
|
+
result << 2
|
93
|
+
result << 1
|
94
|
+
delay = 0.05
|
95
|
+
start_time = Time.now
|
96
|
+
response = result.parallelise do |item|
|
97
|
+
sleep(delay * item)
|
98
|
+
item*2
|
99
|
+
end
|
100
|
+
end_time = Time.now
|
101
|
+
expect(end_time-start_time).to be < (4*delay)
|
102
|
+
expect(response).to eq([6,4,2])
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "ActiveRestClient::Validation" do
|
4
|
+
class SimpleValidationExample < OpenStruct
|
5
|
+
include ActiveRestClient::Validation
|
6
|
+
validates :first_name, presence:true
|
7
|
+
validates :password, length:{within:6..12}
|
8
|
+
validates :post_code, length:{minimum:6, maximum:8}
|
9
|
+
validates :salary, numericality:true, minimum:20_000, maximum:50_000
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should be able to register a validation" do
|
13
|
+
expect(SimpleValidationExample._validations.size).to eq(4)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be invalid if a required value isn't present" do
|
17
|
+
a = SimpleValidationExample.new
|
18
|
+
a.first_name = nil
|
19
|
+
a.valid?
|
20
|
+
expect(a.errors[:first_name].size).to eq(1)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should be valid if a required value is present" do
|
24
|
+
a = SimpleValidationExample.new
|
25
|
+
a.first_name = "John"
|
26
|
+
a.valid?
|
27
|
+
expect(a.errors[:first_name]).to be_empty
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should be invalid if a length within value is outside the range" do
|
31
|
+
a = SimpleValidationExample.new(password:"12345")
|
32
|
+
a.valid?
|
33
|
+
expect(a.errors[:password].size).to eq(1)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should be valid if a length within value is inside the range" do
|
37
|
+
a = SimpleValidationExample.new(password:"123456")
|
38
|
+
a.valid?
|
39
|
+
expect(a.errors[:password].size).to eq(0)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should be invalid if a length is below the minimum" do
|
43
|
+
a = SimpleValidationExample.new(post_code:"12345")
|
44
|
+
a.valid?
|
45
|
+
expect(a.errors[:post_code].size).to eq(1)
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should be valid if a length is above or equal to the minimum and below the maximum" do
|
49
|
+
a = SimpleValidationExample.new(post_code:"123456")
|
50
|
+
a.valid?
|
51
|
+
expect(a.errors[:post_code].size).to eq(0)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should be invalid if a length is above the maximum" do
|
55
|
+
a = SimpleValidationExample.new(post_code:"123456789")
|
56
|
+
a.valid?
|
57
|
+
expect(a.errors[:post_code].size).to eq(1)
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should be able to validate that a field is numeric" do
|
61
|
+
a = SimpleValidationExample.new(salary:"Bob")
|
62
|
+
a.valid?
|
63
|
+
expect(a.errors[:salary].size).to be > 0
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should be able to validate that a numeric field is above or equal to a minimum" do
|
67
|
+
a = SimpleValidationExample.new(salary:10_000)
|
68
|
+
a.valid?
|
69
|
+
expect(a.errors[:salary].size).to be > 0
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should be able to validate that a numeric field is above or equal to a minimum" do
|
73
|
+
a = SimpleValidationExample.new(salary:100_000)
|
74
|
+
a.valid?
|
75
|
+
expect(a.errors[:salary].size).to be > 0
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should be invalid when a block adds an error" do
|
79
|
+
class ValidationExample1 < OpenStruct
|
80
|
+
include ActiveRestClient::Validation
|
81
|
+
validates :first_name do |object, name, value|
|
82
|
+
object.errors[name] << "must be over 4 chars long" if value.length <= 4
|
83
|
+
end
|
84
|
+
end
|
85
|
+
a = ValidationExample1.new(first_name:"John")
|
86
|
+
a.valid?
|
87
|
+
expect(a.errors[:first_name].size).to eq(1)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should be valid when a block doesn't add an error" do
|
91
|
+
class ValidationExample2 < OpenStruct
|
92
|
+
include ActiveRestClient::Validation
|
93
|
+
validates :first_name do |object, name, value|
|
94
|
+
object.errors[name] << "must be over 4 chars long" if value.length <= 4
|
95
|
+
end
|
96
|
+
end
|
97
|
+
a = ValidationExample2.new(first_name:"Johnny")
|
98
|
+
a.valid?
|
99
|
+
expect(a.errors[:first_name]).to be_empty
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should call valid? before making a request" do
|
103
|
+
class ValidationExample3 < ActiveRestClient::Base
|
104
|
+
whiny_missing true
|
105
|
+
post :create, '/'
|
106
|
+
validates :name, presence:true
|
107
|
+
end
|
108
|
+
|
109
|
+
ValidationExample3.any_instance.should_receive(:valid?)
|
110
|
+
object = ValidationExample3.new
|
111
|
+
expect { object.create }.to raise_exception(ActiveRestClient::ValidationFailedException)
|
112
|
+
end
|
113
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'simplecov'
|
3
|
+
require 'active_rest_client'
|
4
|
+
require "ostruct"
|
5
|
+
|
6
|
+
if ENV["JENKINS"]
|
7
|
+
require 'simplecov-rcov'
|
8
|
+
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
9
|
+
end
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.color_enabled = true
|
13
|
+
# config.formatter = 'documentation'
|
14
|
+
|
15
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
16
|
+
|
17
|
+
# Run specs in random order to surface order dependencies. If you find an
|
18
|
+
# order dependency and want to debug it, you can fix the order by providing
|
19
|
+
# the seed, which is printed after each run.
|
20
|
+
# --seed 1234
|
21
|
+
config.order = 'random'
|
22
|
+
end
|
metadata
ADDED
@@ -0,0 +1,265 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: active_rest_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.58
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andy Jeffries
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-01-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec_junit_formatter
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov-rcov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: terminal-notifier-guard
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: oj
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.1.4
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.1.4
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: activesupport
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: patron
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.4.9
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.4.9
|
167
|
+
description: Accessing REST services in an ActiveRecord style
|
168
|
+
email:
|
169
|
+
- andy.jeffries@which.co.uk
|
170
|
+
executables: []
|
171
|
+
extensions: []
|
172
|
+
extra_rdoc_files: []
|
173
|
+
files:
|
174
|
+
- ".gitignore"
|
175
|
+
- ".rspec"
|
176
|
+
- ".simplecov"
|
177
|
+
- Gemfile
|
178
|
+
- Guardfile
|
179
|
+
- LICENSE.txt
|
180
|
+
- README.md
|
181
|
+
- Rakefile
|
182
|
+
- active_rest_client.gemspec
|
183
|
+
- lib/active_rest_client.rb
|
184
|
+
- lib/active_rest_client/base.rb
|
185
|
+
- lib/active_rest_client/caching.rb
|
186
|
+
- lib/active_rest_client/configuration.rb
|
187
|
+
- lib/active_rest_client/connection.rb
|
188
|
+
- lib/active_rest_client/connection_manager.rb
|
189
|
+
- lib/active_rest_client/headers_list.rb
|
190
|
+
- lib/active_rest_client/instrumentation.rb
|
191
|
+
- lib/active_rest_client/lazy_association_loader.rb
|
192
|
+
- lib/active_rest_client/lazy_loader.rb
|
193
|
+
- lib/active_rest_client/logger.rb
|
194
|
+
- lib/active_rest_client/mapping.rb
|
195
|
+
- lib/active_rest_client/proxy_base.rb
|
196
|
+
- lib/active_rest_client/recording.rb
|
197
|
+
- lib/active_rest_client/request.rb
|
198
|
+
- lib/active_rest_client/request_filtering.rb
|
199
|
+
- lib/active_rest_client/result_iterator.rb
|
200
|
+
- lib/active_rest_client/validation.rb
|
201
|
+
- lib/active_rest_client/version.rb
|
202
|
+
- spec/lib/base_spec.rb
|
203
|
+
- spec/lib/caching_spec.rb
|
204
|
+
- spec/lib/configuration_spec.rb
|
205
|
+
- spec/lib/connection_manager_spec.rb
|
206
|
+
- spec/lib/connection_spec.rb
|
207
|
+
- spec/lib/headers_list_spec.rb
|
208
|
+
- spec/lib/instrumentation_spec.rb
|
209
|
+
- spec/lib/lazy_association_loader_spec.rb
|
210
|
+
- spec/lib/lazy_loader_spec.rb
|
211
|
+
- spec/lib/logger_spec.rb
|
212
|
+
- spec/lib/mapping_spec.rb
|
213
|
+
- spec/lib/proxy_spec.rb
|
214
|
+
- spec/lib/recording_spec.rb
|
215
|
+
- spec/lib/request_filtering_spec.rb
|
216
|
+
- spec/lib/request_spec.rb
|
217
|
+
- spec/lib/result_iterator_spec.rb
|
218
|
+
- spec/lib/validation_spec.rb
|
219
|
+
- spec/spec_helper.rb
|
220
|
+
homepage: http://www.which.co.uk/
|
221
|
+
licenses:
|
222
|
+
- MIT
|
223
|
+
metadata: {}
|
224
|
+
post_install_message:
|
225
|
+
rdoc_options: []
|
226
|
+
require_paths:
|
227
|
+
- lib
|
228
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
229
|
+
requirements:
|
230
|
+
- - ">="
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
version: '0'
|
233
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
|
+
requirements:
|
235
|
+
- - ">="
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '0'
|
238
|
+
requirements: []
|
239
|
+
rubyforge_project:
|
240
|
+
rubygems_version: 2.2.0
|
241
|
+
signing_key:
|
242
|
+
specification_version: 4
|
243
|
+
summary: This gem is for accessing REST services in an ActiveRecord style. ActiveResource
|
244
|
+
already exists for this, but it doesn't work where the resource naming doesn't follow
|
245
|
+
Rails conventions, it doesn't have in-built caching and it's not as flexible in
|
246
|
+
general.
|
247
|
+
test_files:
|
248
|
+
- spec/lib/base_spec.rb
|
249
|
+
- spec/lib/caching_spec.rb
|
250
|
+
- spec/lib/configuration_spec.rb
|
251
|
+
- spec/lib/connection_manager_spec.rb
|
252
|
+
- spec/lib/connection_spec.rb
|
253
|
+
- spec/lib/headers_list_spec.rb
|
254
|
+
- spec/lib/instrumentation_spec.rb
|
255
|
+
- spec/lib/lazy_association_loader_spec.rb
|
256
|
+
- spec/lib/lazy_loader_spec.rb
|
257
|
+
- spec/lib/logger_spec.rb
|
258
|
+
- spec/lib/mapping_spec.rb
|
259
|
+
- spec/lib/proxy_spec.rb
|
260
|
+
- spec/lib/recording_spec.rb
|
261
|
+
- spec/lib/request_filtering_spec.rb
|
262
|
+
- spec/lib/request_spec.rb
|
263
|
+
- spec/lib/result_iterator_spec.rb
|
264
|
+
- spec/lib/validation_spec.rb
|
265
|
+
- spec/spec_helper.rb
|