musashi 0.0.1.b1 → 0.0.1.b4
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.
- data/lib/musashi/resource.rb +1 -1
- data/lib/musashi/retriever.rb +17 -10
- data/lib/musashi/version.rb +1 -1
- metadata +20 -20
data/lib/musashi/resource.rb
CHANGED
@@ -49,7 +49,7 @@ class Musashi::Resource
|
|
49
49
|
|
50
50
|
end
|
51
51
|
|
52
|
-
include ::Musashi::Retriever
|
52
|
+
include ::Musashi::Retriever
|
53
53
|
def initialize(url,options={})
|
54
54
|
raise ArgumentError.new('Undefined url') if url.nil? or url.empty?
|
55
55
|
resource_type = Format.formats[ options[:format] || :json ]
|
data/lib/musashi/retriever.rb
CHANGED
@@ -60,7 +60,7 @@ module Musashi::Retriever
|
|
60
60
|
receiver.extend retriever
|
61
61
|
end
|
62
62
|
|
63
|
-
def define(receiver,name=nil)
|
63
|
+
def self.define(receiver,name=nil)
|
64
64
|
raise "Undefined receiver" if receiver.nil?
|
65
65
|
if name.nil?
|
66
66
|
Strategist.define_by_behavior receiver
|
@@ -74,6 +74,10 @@ module Musashi::Retriever
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
+
def define(receiver,name=nil)
|
78
|
+
Strategist.define(receiver,name)
|
79
|
+
end
|
80
|
+
|
77
81
|
end
|
78
82
|
|
79
83
|
module VisitorStrategist
|
@@ -81,11 +85,13 @@ module Musashi::Retriever
|
|
81
85
|
include Strategist
|
82
86
|
|
83
87
|
def self.extend?(receiver)
|
84
|
-
!receiver.nil? && receiver.respond_to?(:keys) &&
|
88
|
+
!receiver.nil? && receiver.respond_to?(:keys) && \
|
89
|
+
receiver.respond_to?(:fetch) && !receiver.is_a?(VisitorStrategist)
|
85
90
|
end
|
86
91
|
|
87
92
|
def self.extend_object(receiver)
|
88
|
-
|
93
|
+
return if receiver.is_a?(VisitorStrategist)
|
94
|
+
raise RuntimeError.new unless VisitorStrategist.extend? receiver
|
89
95
|
super
|
90
96
|
end
|
91
97
|
|
@@ -154,11 +160,13 @@ module Musashi::Retriever
|
|
154
160
|
include DelegateHash
|
155
161
|
|
156
162
|
def self.extend?(receiver)
|
157
|
-
!receiver.nil? && receiver.respond_to?(:start_with?) &&
|
163
|
+
!receiver.nil? && receiver.respond_to?(:start_with?) && \
|
164
|
+
receiver.start_with?('http') && !receiver.is_a?(Content)
|
158
165
|
end
|
159
166
|
|
160
167
|
def self.extend_object(receiver)
|
161
|
-
|
168
|
+
return if receiver.is_a?(Content)
|
169
|
+
raise RuntimeError.new unless Content.extend? receiver
|
162
170
|
super
|
163
171
|
end
|
164
172
|
|
@@ -171,14 +179,13 @@ module Musashi::Retriever
|
|
171
179
|
|
172
180
|
module Iterator
|
173
181
|
def self.extend?(receiver)
|
174
|
-
!receiver.nil? && receiver.is_a?(::Array)
|
182
|
+
!receiver.nil? && receiver.is_a?(::Array) && !receiver.is_a?(Iterator)
|
175
183
|
end
|
176
184
|
|
177
185
|
def self.extend_object(receiver)
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
end
|
186
|
+
return if receiver.is_a?(Iterator)
|
187
|
+
raise RuntimeError.new unless Iterator.extend? receiver
|
188
|
+
receiver.each{ |item| Strategist.define(item) }
|
182
189
|
end
|
183
190
|
end
|
184
191
|
|
data/lib/musashi/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: musashi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.b4
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-10-03 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
16
|
-
requirement: &
|
16
|
+
requirement: &13405480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0.6'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *13405480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &13404940 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.1.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *13404940
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hashie
|
38
|
-
requirement: &
|
38
|
+
requirement: &13404200 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *13404200
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faraday
|
49
|
-
requirement: &
|
49
|
+
requirement: &13403520 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.7.4
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *13403520
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: faraday_middleware
|
60
|
-
requirement: &
|
60
|
+
requirement: &13402800 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.7.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *13402800
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: multi_json
|
71
|
-
requirement: &
|
71
|
+
requirement: &13402060 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.0.0
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *13402060
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: multi_xml
|
82
|
-
requirement: &
|
82
|
+
requirement: &13401580 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.4.0
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *13401580
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rspec
|
93
|
-
requirement: &
|
93
|
+
requirement: &13400880 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *13400880
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: sinatra
|
104
|
-
requirement: &
|
104
|
+
requirement: &13400380 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *13400380
|
113
113
|
description: ! 'Musashi is a library for '
|
114
114
|
email: pahagon@gmail.com
|
115
115
|
executables: []
|