sawyer 0.3.0 → 0.4.0
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/lib/sawyer.rb +1 -1
- data/lib/sawyer/agent.rb +6 -0
- data/lib/sawyer/resource.rb +7 -5
- data/script/release +0 -2
- data/test/agent_test.rb +8 -0
- data/test/resource_test.rb +11 -0
- metadata +6 -12
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e6486ef818a2c154d9689334ec7f58ac3c31d7e9
|
4
|
+
data.tar.gz: ed05b3d65f572314eab8caf2e18ff37d47942e6a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 20e8d49cf6d7c293273694c50219398a9608afdf6ed1bd29d065224f7bdcf7915492ee3a4f97fe9ddfd3fe9938c3e63fad62887cd2247c7c17fee9083cd94764
|
7
|
+
data.tar.gz: 015da8b80b1851daad32fa3e0679ac9e7f9eb80fa5b96518ffa41714524d7459d20837abc63f4f0463746907d23511128e146683bf5080420db44958139d969b
|
data/lib/sawyer.rb
CHANGED
data/lib/sawyer/agent.rb
CHANGED
data/lib/sawyer/resource.rb
CHANGED
@@ -82,13 +82,15 @@ module Sawyer
|
|
82
82
|
elsif attr_name && @_fields.include?(attr_name.to_sym)
|
83
83
|
value = @attrs[attr_name.to_sym]
|
84
84
|
case suffix
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
85
|
+
when nil
|
86
|
+
@_metaclass.send(:attr_accessor, attr_name)
|
87
|
+
value
|
88
|
+
when ATTR_PREDICATE then !!value
|
89
|
+
end
|
90
90
|
elsif suffix.nil? && SPECIAL_METHODS.include?(attr_name)
|
91
91
|
instance_variable_get "@_#{attr_name}"
|
92
|
+
elsif attr_name && !@_fields.include?(attr_name.to_sym)
|
93
|
+
nil
|
92
94
|
else
|
93
95
|
super
|
94
96
|
end
|
data/script/release
CHANGED
data/test/agent_test.rb
CHANGED
@@ -149,6 +149,14 @@ module Sawyer
|
|
149
149
|
|
150
150
|
assert_equal "This is plain text", res.data
|
151
151
|
end
|
152
|
+
|
153
|
+
def test_handle_yaml_dump_and_load
|
154
|
+
assert_nothing_raised do
|
155
|
+
require 'yaml'
|
156
|
+
res = Agent.new 'http://example.com', :a => 1
|
157
|
+
YAML.load(YAML.dump(res))
|
158
|
+
end
|
159
|
+
end
|
152
160
|
end
|
153
161
|
end
|
154
162
|
|
data/test/resource_test.rb
CHANGED
@@ -93,6 +93,17 @@ module Sawyer
|
|
93
93
|
assert res.respond_to?(:a=)
|
94
94
|
end
|
95
95
|
|
96
|
+
def test_nillable_attribute_getters
|
97
|
+
res = Resource.new @agent, :a => 1
|
98
|
+
assert !res.key?(:b)
|
99
|
+
assert !res.respond_to?(:b)
|
100
|
+
assert !res.respond_to?(:b=)
|
101
|
+
assert_nil res.b
|
102
|
+
assert_nothing_raised do
|
103
|
+
res.b
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
96
107
|
def test_dynamic_attribute_methods_from_setter
|
97
108
|
res = Resource.new @agent, :a => 1
|
98
109
|
assert !res.key?(:b)
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sawyer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Rick Olson
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2013-
|
12
|
+
date: 2013-09-18 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: faraday
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ~>
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -26,7 +24,6 @@ dependencies:
|
|
26
24
|
type: :runtime
|
27
25
|
prerelease: false
|
28
26
|
version_requirements: !ruby/object:Gem::Requirement
|
29
|
-
none: false
|
30
27
|
requirements:
|
31
28
|
- - ~>
|
32
29
|
- !ruby/object:Gem::Version
|
@@ -37,7 +34,6 @@ dependencies:
|
|
37
34
|
- !ruby/object:Gem::Dependency
|
38
35
|
name: uri_template
|
39
36
|
requirement: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
37
|
requirements:
|
42
38
|
- - ~>
|
43
39
|
- !ruby/object:Gem::Version
|
@@ -45,7 +41,6 @@ dependencies:
|
|
45
41
|
type: :runtime
|
46
42
|
prerelease: false
|
47
43
|
version_requirements: !ruby/object:Gem::Requirement
|
48
|
-
none: false
|
49
44
|
requirements:
|
50
45
|
- - ~>
|
51
46
|
- !ruby/object:Gem::Version
|
@@ -81,25 +76,24 @@ files:
|
|
81
76
|
homepage: https://github.com/lostisland/sawyer
|
82
77
|
licenses:
|
83
78
|
- MIT
|
79
|
+
metadata: {}
|
84
80
|
post_install_message:
|
85
81
|
rdoc_options: []
|
86
82
|
require_paths:
|
87
83
|
- lib
|
88
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
85
|
requirements:
|
91
|
-
- -
|
86
|
+
- - '>='
|
92
87
|
- !ruby/object:Gem::Version
|
93
88
|
version: '0'
|
94
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
90
|
requirements:
|
97
|
-
- -
|
91
|
+
- - '>='
|
98
92
|
- !ruby/object:Gem::Version
|
99
93
|
version: 1.3.5
|
100
94
|
requirements: []
|
101
95
|
rubyforge_project:
|
102
|
-
rubygems_version:
|
96
|
+
rubygems_version: 2.0.3
|
103
97
|
signing_key:
|
104
98
|
specification_version: 2
|
105
99
|
summary: Secret User Agent of HTTP
|