tickethub 0.3.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a98808d4bd0da93284b9ae2169dfa7562f571222
4
- data.tar.gz: 9a189fbea8a94f9f70fc7a8181d64413ba1fd965
3
+ metadata.gz: 9e06af3a67998ddcbe1b041bd3d27afc3ced49e4
4
+ data.tar.gz: 306960e80996af72bb4954319fe39b0e69890509
5
5
  SHA512:
6
- metadata.gz: 6d87e18e542f6d9e9a140e2f8c1e3ec53ea0b24e2c3a0c9405ae1b0271129128babf5eb26bdf2c68cf2f009601af4678c48073495687c2e84e5d98d524673033
7
- data.tar.gz: 0fbeaca26afbe8e3295c15f2380cf11bf6806745e8a032b87a08a5526ce84e4aa3f47407e64266d81062fdf0863a42abfa52624d2aa992636f542b0877b4fb76
6
+ metadata.gz: 8beb3438d3dff5382987d705e29077da85eeda4985c0b12c0c5978366d5f2df07b104e7cf2b8495fe96a0a8675b0a6682b5fa232d6b5eac2d91b6ba44541406b
7
+ data.tar.gz: 5acc3e4bd03fd3454d52f4ef20d577b82b89725fb0091e31a527f7fcffd5baa0ba2053af1233a3e4382779234194c6330838884dd227f15d49f41d1cf26ecaad
data/lib/tickethub.rb CHANGED
@@ -26,4 +26,5 @@ module Tickethub
26
26
  require_relative 'tickethub/supplier'
27
27
  require_relative 'tickethub/app'
28
28
  require_relative 'tickethub/user'
29
+ require_relative 'tickethub/job'
29
30
  end
@@ -22,7 +22,7 @@ module Tickethub
22
22
  end
23
23
  end
24
24
 
25
- klass.scopes.each do |key, block|
25
+ klass.collection_methods.merge(klass.scopes).each do |key, block|
26
26
  define_singleton_method key, &block
27
27
  end
28
28
 
@@ -139,6 +139,8 @@ module Tickethub
139
139
  self.filter(search).first
140
140
  when Range
141
141
  self.offset(search.min).first(search.max)
142
+ when Array
143
+ self.filter(id: search)
142
144
  when String
143
145
  endpoint = self.endpoint[@klass.path, CGI::escape(search)]
144
146
  @klass.load endpoint, endpoint.get(params)
@@ -24,6 +24,10 @@ module Tickethub
24
24
  end
25
25
  end
26
26
 
27
+ def url(params = {})
28
+ params.any?? "#{@url}?#{Helpers.to_param(params)}" : @url
29
+ end
30
+
27
31
  def request(params, options)
28
32
  raise 'this endpoint is readonly' if frozen?
29
33
  Tickethub::Request.new(url, options.merge(params: params)).execute
@@ -35,6 +35,14 @@ module Tickethub
35
35
  def descendants
36
36
  @descendants ||= []
37
37
  end
38
+
39
+ def collection_methods
40
+ @collection_methods ||= {}
41
+ end
42
+ end
43
+
44
+ def self.collection_method(key, &block)
45
+ collection_methods[key] = block
38
46
  end
39
47
 
40
48
  def self.inherited(descendant)
@@ -145,6 +153,7 @@ module Tickethub
145
153
 
146
154
  def self.load(endpoint, attributes = nil)
147
155
  attributes ||= endpoint.get
156
+ return attributes if attributes.is_a? Tickethub::Job
148
157
 
149
158
  klass = registered_types.find do |type, options|
150
159
  attributes[options[:attribute].to_s] == type
@@ -26,6 +26,7 @@ module Tickethub
26
26
 
27
27
  def decoded
28
28
  @decoded ||= parser ? parser.decode(body) : body
29
+ code == 202 ? Tickethub::Job.load(Tickethub.endpoint, @decoded) : @decoded
29
30
  end
30
31
 
31
32
  def respond_to?(name)
@@ -16,6 +16,10 @@ module Tickethub
16
16
  require_relative 'extra'
17
17
  require_relative 'fee'
18
18
 
19
+ collection_method :broadcast do |params|
20
+ Tickethub::Job.load self.endpoint, post(:broadcast, params)
21
+ end
22
+
19
23
  collection :answers, Supplier::Answer
20
24
  collection :messages, Supplier::Message
21
25
  collection :extras, Supplier::Extra
@@ -1,3 +1,3 @@
1
1
  module Tickethub
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tickethub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-05 00:00:00.000000000 Z
11
+ date: 2015-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler