boxxspring 2.3.6 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f15bbc84a09e0c1e0dc3908c9c28413fcc3e8044
4
- data.tar.gz: 612205bcb1e40c9e819f9a6b2bdb2904d5109b47
3
+ metadata.gz: 906b969d9a6b956493a508649e507e5f868c4c9a
4
+ data.tar.gz: d64c6cfb72a741a8e0632d25d1e1fd7433e95b29
5
5
  SHA512:
6
- metadata.gz: f9d9fd87c160e82b3f3dea530c3f3b44ca7ed6d6a52b3d36d11106e6b8a4a7c8dcc50b6ede6292165189d753aee641590b46f513f7ec11a663c6936e06da3e11
7
- data.tar.gz: 0f73bdde5ab7ad7ccee9be490e24c139c3eeb7e9d1b4a618382a8d8a22910ee3be1cd454fc6376908dcec8feaa384c995027152539662710cd60090e69439147
6
+ metadata.gz: 85a7f17c006fe50bd07e6adbaca9410b372f60d565415f9cc44376c6ee1ef2651652621315838f4968ff9c2962998777a988a22c5456bd191503be83af2d7ad9
7
+ data.tar.gz: 0fd816bb910a98699ca2ebb6f1ba6f4c1b45a125e4f14d63a0fbae87d8d0bd76f0d132fe36c7b9ede2328980434279fdd3390ae739d41e6adf54e28601c483d9
@@ -2,9 +2,25 @@ module Boxxspring
2
2
 
3
3
  class Operation
4
4
 
5
- def initialize( path, parameters = {}, result = Array )
5
+ def initialize( path, parameters = {} )
6
6
  @path = path
7
7
  @parameters = ( parameters || {} ).deep_dup
8
+ @key = nil
9
+ end
10
+
11
+ def key
12
+ return @key ||= begin
13
+ result = 0
14
+ query = @parameters.to_param
15
+ if ( @path.present? || @query.present? )
16
+ query = query.split( '&' ).sort.join( '&' )
17
+ addressable = Addressable::URI.new
18
+ addressable.path = @path
19
+ addressable.query = query unless query.blank?
20
+ result = FNV.new.fnv1a_32( addressable.to_s )
21
+ end
22
+ result
23
+ end
8
24
  end
9
25
 
10
26
  def where( parameters )
@@ -38,31 +54,58 @@ module Boxxspring
38
54
  self.spawn( :include => self.normalize_include( *arguments ) )
39
55
  end
40
56
 
41
- def query
57
+ def query( &block )
42
58
  result = nil
43
59
  Boxxspring::Request.new.tap do | request |
44
60
  request.get( @path, @parameters ).tap do | response |
45
61
  result = response.resources
46
- result = result.first if result.length > 0 && @result == Object
62
+ if block_given?
63
+ case block.arity
64
+ when 0; yield
65
+ when 1; yield result
66
+ when 2; yield result, response
67
+ end
68
+ end
47
69
  end
48
70
  end
49
71
  result
50
72
  end
51
73
 
52
- def read
53
- result = self.query
54
- result = result.first if result.present? && result.is_a?( Enumerable )
74
+ def read( &block )
75
+ response = nil
76
+ result = nil
77
+ self.query do | _result, _response |
78
+ result = _result
79
+ response = _response
80
+ end
81
+ if response.success?
82
+ result = result.first if result.present? && result.is_a?( Enumerable )
83
+ if block_given?
84
+ case block.arity
85
+ when 0; yield
86
+ when 1; yield result
87
+ when 2; yield result, response
88
+ end
89
+ end
90
+ end
55
91
  result
56
92
  end
57
93
 
58
- def write( node, objects )
94
+ def write( node, objects, &block )
59
95
  result = nil
60
96
  Boxxspring::Request.new.tap do | request |
61
97
  serializer = Boxxspring::Serializer.new( objects )
62
98
  response = request.post( @path, @parameters, serializer.serialize( node ) )
63
99
  if response.present?
64
100
  result = response.resources
65
- end
101
+ if block_given?
102
+ case block.arity
103
+ when 0; yield
104
+ when 1; yield result
105
+ when 2; yield result, response
106
+ end
107
+ end
108
+ end
66
109
  end
67
110
  result
68
111
  end
@@ -2,6 +2,10 @@ module Boxxspring
2
2
 
3
3
  class BoxxspringDistribution < Distribution
4
4
 
5
+ field :destination_property_id
6
+ field :property_name
7
+ field :property_logo
8
+
5
9
  end
6
10
 
7
- end
11
+ end
@@ -5,13 +5,8 @@ module Boxxspring
5
5
  field :distribution_id
6
6
  field :name
7
7
  field :description
8
- field :short_name
9
- field :short_description
10
- field :note
11
- field :seo_title
12
- field :seo_description
13
- field :url_slug
14
- field :artifact_relationship_ids
8
+ field :published
9
+ field :artifact_ids
15
10
 
16
11
  end
17
12
 
@@ -16,6 +16,8 @@ module Boxxspring
16
16
  field :media_player
17
17
  field :media_provider
18
18
 
19
+ field :permalink
20
+
19
21
  has_one :filter
20
22
 
21
23
  end
@@ -1,6 +1,6 @@
1
1
  module Boxxspring
2
2
 
3
- class Property < Base
3
+ class Property < Base
4
4
 
5
5
  field :id
6
6
 
@@ -33,6 +33,6 @@ module Boxxspring
33
33
  Boxxspring::Operation.new( File.join( '/properties', self.id.to_s, path ) )
34
34
  end
35
35
 
36
- end
36
+ end
37
37
 
38
38
  end
@@ -1,16 +1,17 @@
1
1
  module Boxxspring
2
2
 
3
- class Theme < Base
3
+ class Theme < Base
4
4
 
5
5
  field :id
6
- field :code_name
7
- field :name
6
+ field :code_name
7
+ field :name
8
8
 
9
9
  field :default_javascript_uri
10
10
  field :default_stylesheet_uri
11
11
 
12
12
  has_many :environments
13
+ has_many :theme_templates
13
14
 
14
- end
15
+ end
15
16
 
16
- end
17
+ end
@@ -2,8 +2,16 @@ module Boxxspring
2
2
 
3
3
  class ThemeTemplate < Base
4
4
 
5
+ field :id
6
+
7
+ field :created_at
8
+ field :updated_at
9
+
10
+ field :type_name
5
11
  field :code_name
6
-
12
+ field :name
13
+ field :description
14
+
7
15
  end
8
16
 
9
- end
17
+ end
@@ -12,7 +12,10 @@ module Boxxspring
12
12
  field :provider_url
13
13
  field :video_file_url
14
14
  field :picture_file_url
15
+ field :alternate_provider
16
+ field :alternate_provider_url
17
+ field :auto_publish
15
18
 
16
19
  end
17
20
 
18
- end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module Boxxspring
2
- VERSION = '2.3.6'
2
+ VERSION = '2.4.2'
3
3
  end
data/lib/boxxspring.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'active_support'
2
2
  require 'active_support/all'
3
3
  require 'multi_json'
4
+ require 'fnv'
4
5
 
5
6
  require 'boxxspring/configuration'
6
7
  require 'boxxspring/response'
@@ -20,7 +21,7 @@ require 'boxxspring/resources/malformed_parameter_error'
20
21
  require 'boxxspring/resources/not_found_error'
21
22
 
22
23
 
23
- require 'boxxspring/resources/property'
24
+ require 'boxxspring/resources/property'
24
25
  require 'boxxspring/resources/picture'
25
26
  require 'boxxspring/resources/user_agent'
26
27
  require 'boxxspring/resources/theme_environment'
@@ -42,13 +43,13 @@ require 'boxxspring/resources/artifact_locator'
42
43
  # Services
43
44
  require 'boxxspring/resources/service'
44
45
  require 'boxxspring/resources/setting'
46
+ require 'boxxspring/resources/sponsor'
45
47
  require 'boxxspring/resources/legacy_service'
46
48
  require 'boxxspring/resources/social_service'
47
49
  require 'boxxspring/resources/facebook_page_service'
48
50
  require 'boxxspring/resources/twitter_service'
49
51
  require 'boxxspring/resources/youtube_channel_service'
50
52
  require 'boxxspring/resources/dailymotion_channel_service'
51
- require 'boxxspring/resources/boxxspring_service'
52
53
  require 'boxxspring/resources/source'
53
54
  require 'boxxspring/resources/distribution'
54
55
  require 'boxxspring/resources/verizon_distribution'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxxspring
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristoph Cichocki-Romanov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-30 00:00:00.000000000 Z
11
+ date: 2015-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.0'
33
+ version: '4.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '4.0'
40
+ version: '4.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: addressable
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,18 +52,32 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: fnv
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.2'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: pry
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ">="
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
75
  version: 0.10.1
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ">="
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
82
  version: 0.10.1
69
83
  description: The boxxspring gem is implements a client to the Bedrocket Media Ventrures
@@ -89,7 +103,6 @@ files:
89
103
  - lib/boxxspring/resources/base.rb
90
104
  - lib/boxxspring/resources/boxxspring_distribution.rb
91
105
  - lib/boxxspring/resources/boxxspring_distribution_task.rb
92
- - lib/boxxspring/resources/boxxspring_service.rb
93
106
  - lib/boxxspring/resources/branding_rule.rb
94
107
  - lib/boxxspring/resources/dailymotion_channel_service.rb
95
108
  - lib/boxxspring/resources/dailymotion_distribution.rb
@@ -169,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
182
  version: '0'
170
183
  requirements: []
171
184
  rubyforge_project:
172
- rubygems_version: 2.2.2
185
+ rubygems_version: 2.4.5
173
186
  signing_key:
174
187
  specification_version: 4
175
188
  summary: Bedrocket Media Ventrures Boxxspring property API.
@@ -1,9 +0,0 @@
1
- module Boxxspring
2
-
3
- class BoxxspringService < Service
4
-
5
- field :destination_id
6
- field :name
7
- end
8
-
9
- end