boxxspring 2.3.6 → 2.4.2

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: 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