Skip to content

Commit 9ea5f0a

Browse files
committed
Minor improvements, fixes to Mutable.
1 parent 7317a8b commit 9ea5f0a

File tree

3 files changed

+19
-18
lines changed

3 files changed

+19
-18
lines changed

lib/async/rest/representation.rb

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -103,33 +103,29 @@ def value
103103

104104
# Provides a way to mutate the value of the representation.
105105
module Mutable
106-
def value= value
107-
@value = self.assign(value)
106+
def post(value)
107+
self.class.post(@resource, value) do |resource, response|
108+
@value = response.read
109+
110+
self
111+
end
108112
end
109113

110-
def call(value)
114+
def delete
115+
self.class.delete(@resource)
116+
end
117+
118+
def assign(value)
111119
if value
112120
self.post(value)
113121
else
114122
self.delete
115123
end
116124
end
117-
118-
def assign(value)
119-
response = self.call(value)
120-
121-
response.read
122-
123-
return @value
124-
end
125-
126-
def update
127-
@value = assign(@value)
128-
end
129125
end
130126

131127
def inspect
132-
"\#<#{self.class} #{@resource.inspect} value=#{@value.inspect}>"
128+
"\#<#{self.class} #{@resource.path.inspect} value=#{@value.inspect}>"
133129
end
134130
end
135131
end

lib/async/rest/resource.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ def with(**options)
7070
self.class.with(self, **options)
7171
end
7272

73+
def path
74+
@reference.path
75+
end
76+
7377
def inspect
7478
"\#<#{self.class} #{@reference.inspect} #{@headers.inspect}>"
7579
end

lib/async/rest/wrapper/generic.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ module Async
77
module REST
88
module Wrapper
99
class Generic
10-
def call(resource, verb = "GET", payload = nil, &block)
11-
request = ::Protocol::HTTP::Request[verb, nil]
10+
def call(resource, method = "GET", payload = nil, &block)
11+
request = ::Protocol::HTTP::Request[method, nil]
12+
1213
self.prepare_request(request, payload)
1314

1415
response = resource.call(request)

0 commit comments

Comments
 (0)