responsible 0.0.3 → 0.1.0

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: cb9458a07f1290d5222ff96bf060736d2324b849
4
- data.tar.gz: d3675f0d6cac094f51f3b1dde2a3f4348cc3f374
3
+ metadata.gz: 3e1084e91625da4197eaa96fed35775417017e13
4
+ data.tar.gz: f6c0f35deb7af5e4ca968089d26225179b5746b4
5
5
  SHA512:
6
- metadata.gz: 9452b791b9165bb2c526659b705ddde6fbcdf1fe68c399bc05af2b2cc2d1b1c7d7c1d5784541b4d69d1dbd693b1c0d7ca121082920fd8e7717cc010543907ee6
7
- data.tar.gz: 79235cf791daff1e156f44993df1f770fdc45fec06003f4a1420025caaa3fe7faa25bb5e0b2c41b9765cb5138a60a8f4ecb9a556fabddc673ccc890e4c92e5ba
6
+ metadata.gz: 2ae0698dc609fd3fce630239165dd01ba6b1a962dab46db98cbbd3724541857555a4ab7e73728892d232165f040a393a768a4d84ea3c26494ef54d4b3366d0d8
7
+ data.tar.gz: e36b92901668c778343a59d8e193c031804cb3dcb5a0427ded669ddbd6f1ca1e23a5620432ebb10a28f743fb59b90242ca616dbf097c574e764dc963908b88b3
data/README.md CHANGED
@@ -18,7 +18,7 @@ class MySerializer < Responsible::Base
18
18
 
19
19
  def value_2
20
20
  # number.other[:value]
21
- data.other[:value]
21
+ __data__.other[:value]
22
22
  end
23
23
  end
24
24
 
@@ -52,7 +52,7 @@ It is initialized using a consumer (see below) and a data object that the JSON w
52
52
  ### data_object_name
53
53
 
54
54
  #### Pending code merge
55
- This is a convenience method and allow you to specify an access name for the data object you passed into the initializer (you can also access this object using the ```data``` method)
55
+ This is a convenience method and allow you to specify an access name for the data object you passed into the initializer (you can also access this object using the ```__data__``` method)
56
56
 
57
57
  ### property
58
58
 
data/lib/consumer.rb CHANGED
@@ -1,12 +1,3 @@
1
- module Responsible
2
- class Consumer
3
- def initialize(*valid_restrictions)
4
- @valid_restrictions = valid_restrictions
5
- end
1
+ warn "[DEPRECATION] #{Kernel.caller.first}\n[DEPRECATION] `require 'consumer'` is deprecated. File should now be correctly loaded using autoloading."
6
2
 
7
- def can_see?(restrictions)
8
- # always allow field with no restrictions to be seen
9
- restrictions.nil? || (Array(@valid_restrictions) & Array(restrictions)).any?
10
- end
11
- end
12
- end
3
+ require 'responsible/consumer'
data/lib/responsible.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'consumer'
1
+ require 'responsible/consumer'
2
2
 
3
3
  module Responsible
4
4
 
@@ -10,7 +10,7 @@ module Responsible
10
10
  class << self
11
11
 
12
12
  def data_object_name name
13
- alias_method name, :data
13
+ alias_method name, :__data__
14
14
  end
15
15
 
16
16
  def doc(str=nil)
@@ -35,15 +35,15 @@ module Responsible
35
35
 
36
36
  def delegate_method(name, to)
37
37
  define_method name do
38
- data.send(to || name)
38
+ __data__.send(to || name)
39
39
  end
40
40
  end
41
41
  end
42
42
 
43
- attr_reader :consumer, :data
43
+ attr_reader :consumer, :__data__
44
44
 
45
45
  def initialize(consumer, data)
46
- @consumer, @data = consumer, data
46
+ @consumer, @__data__ = consumer, data
47
47
 
48
48
  undefined_properties = _properties_.keys - methods
49
49
 
@@ -63,11 +63,16 @@ module Responsible
63
63
 
64
64
  result
65
65
  end
66
-
66
+
67
+ def data
68
+ warn "[DEPRECATION] #{Kernel.caller.first}\n[DEPRECATION] `data` is deprecated. Please use `__data__` instead."
69
+ __data__
70
+ end
71
+
67
72
  private
68
73
 
69
74
  def _properties_
70
75
  self.class.properties
71
76
  end
72
77
  end
73
- end
78
+ end
@@ -0,0 +1,12 @@
1
+ module Responsible
2
+ class Consumer
3
+ def initialize(*valid_restrictions)
4
+ @valid_restrictions = valid_restrictions
5
+ end
6
+
7
+ def can_see?(restrictions)
8
+ # always allow field with no restrictions to be seen
9
+ restrictions.nil? || (Array(@valid_restrictions) & Array(restrictions)).any?
10
+ end
11
+ end
12
+ end
data/responsible.gemspec CHANGED
@@ -3,18 +3,19 @@ $:.unshift 'lib'
3
3
  Gem::Specification.new do |s|
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.name = "responsible"
6
- s.version = "0.0.3"
6
+ s.version = "0.1.0"
7
7
  s.date = Time.now.strftime('%Y-%m-%d')
8
8
  s.homepage = "https://github.com/reevoo/responsible"
9
9
  s.authors = ["dw_henry", "lamp"]
10
10
  s.email = "developers@reevoo.com"
11
11
  s.summary = "Response builders"
12
+ s.description= "JSON building library"
12
13
 
13
14
  s.files = %w[ Gemfile README.md responsible.gemspec LICENSE ]
14
15
  s.files += Dir['lib/**/*']
15
16
  s.test_files = Dir['spec/**/*']
16
17
 
17
- s.add_development_dependency 'rake'
18
- s.add_development_dependency 'minitest'
19
- s.add_development_dependency 'rspec'
18
+ s.add_development_dependency 'rake', '~> 0'
19
+ s.add_development_dependency 'minitest', '~> 0'
20
+ s.add_development_dependency 'rspec', '~> 0'
20
21
  end
data/spec/base_spec.rb CHANGED
@@ -75,7 +75,7 @@ describe Responsible::Base do
75
75
  property :no_role
76
76
 
77
77
  def no_role
78
- data.no_role
78
+ __data__.no_role
79
79
  end
80
80
  end
81
81
 
@@ -90,7 +90,7 @@ describe Responsible::Base do
90
90
  property :with_role, restrict_to: :some_role
91
91
 
92
92
  def with_role
93
- data.with_role
93
+ __data__.with_role
94
94
  end
95
95
  end
96
96
 
@@ -106,19 +106,19 @@ describe Responsible::Base do
106
106
  property :with_another_role, restrict_to: :another_role
107
107
 
108
108
  def with_external_role
109
- data.with_external_role
109
+ __data__.with_external_role
110
110
  end
111
111
 
112
112
  def with_analytics_role
113
- data.with_analytics_role
113
+ __data__.with_analytics_role
114
114
  end
115
115
 
116
116
  def with_another_role
117
- data.with_another_role
117
+ __data__.with_another_role
118
118
  end
119
119
  end
120
120
 
121
-
121
+
122
122
  data = double(:data, with_external_role: 'external', with_analytics_role: 'analytics', with_another_role: 'another')
123
123
  consumer = Responsible::Consumer.new(:external, :analytics)
124
124
 
@@ -127,7 +127,7 @@ describe Responsible::Base do
127
127
  end
128
128
 
129
129
  describe "#data_object_name" do
130
-
130
+
131
131
  let(:consumer) { double(:consumer, can_see?: true) }
132
132
 
133
133
  it "allows aliasing of the data method to a more sensible name" do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,2 @@
1
1
  $LOAD_PATH.unshift("./lib")
2
2
  require 'responsible'
3
- require 'consumer'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: responsible
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - dw_henry
@@ -9,51 +9,51 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-19 00:00:00.000000000 Z
12
+ date: 2014-08-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">="
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ">="
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: minitest
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ">="
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ">="
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
- description:
56
+ description: JSON building library
57
57
  email: developers@reevoo.com
58
58
  executables: []
59
59
  extensions: []
@@ -64,6 +64,7 @@ files:
64
64
  - README.md
65
65
  - lib/consumer.rb
66
66
  - lib/responsible.rb
67
+ - lib/responsible/consumer.rb
67
68
  - responsible.gemspec
68
69
  - spec/base_spec.rb
69
70
  - spec/consumer_spec.rb