transcriber 0.0.25 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
- data/examples/all.rb +1 -1
- data/examples/to_input/serializables.rb +23 -0
- data/lib/transcriber.rb +29 -37
- data/lib/transcriber/configuration.rb +25 -1
- data/lib/transcriber/resource/builder.rb +24 -5
- data/lib/transcriber/resource/input_parser.rb +8 -2
- data/lib/transcriber/resource/key/embeddable.rb +4 -2
- data/lib/transcriber/resource/{builder/embeddables.rb → key/embeddable/builder.rb} +2 -2
- data/lib/transcriber/resource/{parser/embeddable.rb → key/embeddable/parser.rb} +3 -3
- data/lib/transcriber/resource/{response/embeddable.rb → key/embeddable/response.rb} +2 -2
- data/lib/transcriber/resource/key/href.rb +2 -1
- data/lib/transcriber/resource/{response/href.rb → key/href/response.rb} +2 -2
- data/lib/transcriber/resource/key/property.rb +4 -2
- data/lib/transcriber/resource/{builder/properties.rb → key/property/builder.rb} +2 -2
- data/lib/transcriber/resource/{parser/property.rb → key/property/parser.rb} +23 -9
- data/lib/transcriber/resource/{response/property.rb → key/property/response.rb} +2 -2
- data/lib/transcriber/resource/key/relation.rb +2 -1
- data/lib/transcriber/resource/{builder/relations.rb → key/relation/builder.rb} +2 -2
- data/lib/transcriber/resource/{response/relation.rb → key/relation/response.rb} +2 -2
- data/lib/transcriber/resource/serialization/boolean.rb +13 -0
- data/lib/transcriber/resource/serialization/date.rb +8 -0
- data/lib/transcriber/resource/serialization/enumerable.rb +5 -0
- data/lib/transcriber/resource/serialization/float.rb +6 -0
- data/lib/transcriber/resource/serialization/integer.rb +6 -0
- data/lib/transcriber/resource/serialization/string.rb +4 -0
- data/lib/transcriber/version.rb +1 -1
- data/spec/unit/resource/builder/embeddables_spec.rb +1 -1
- data/spec/unit/resource/builder/properties_spec.rb +1 -1
- data/spec/unit/resource/builder/relations_spec.rb +1 -1
- data/spec/unit/resource/parser/embeddable_spec.rb +1 -1
- data/spec/unit/resource/parser/property_spec.rb +1 -1
- data/spec/unit/resource/response/embeddable_spec.rb +1 -1
- data/spec/unit/resource/response/property_spec.rb +1 -1
- metadata +24 -25
- data/lib/transcriber/resource/builder/keys.rb +0 -21
- data/lib/transcriber/resource/builder/summarizations.rb +0 -14
data/examples/all.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
$:.push 'lib'; require 'transcriber'
|
2
|
+
|
3
|
+
Transcriber.configure do |c|
|
4
|
+
c.true_value = "X"
|
5
|
+
c.false_value = ""
|
6
|
+
c.date_format = "%Y%m%d"
|
7
|
+
end
|
8
|
+
|
9
|
+
class Customer < Transcriber::Resource
|
10
|
+
property :login
|
11
|
+
property :age, type: Integer
|
12
|
+
property :birth, type: Date
|
13
|
+
property :active, type: Boolean
|
14
|
+
property :services, type: Enumerable
|
15
|
+
property :balance, type: Float
|
16
|
+
end
|
17
|
+
|
18
|
+
@root = Customer.new({login: 'jackiechan2010', age: 22, birth: "1990-07-04", active: true, services: ["Hosting", "Email"], balance: 200.00})
|
19
|
+
|
20
|
+
puts "root.to_input: #{@root.to_input}"
|
21
|
+
|
22
|
+
puts "root: #{@root.inspect}"
|
23
|
+
puts "resource: #{@root.resource}"
|
data/lib/transcriber.rb
CHANGED
@@ -1,42 +1,34 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
1
|
+
require "date"
|
2
|
+
require "active_support/inflector"
|
3
|
+
require "active_support/concern"
|
4
|
+
require "active_support/core_ext/class/attribute_accessors"
|
5
|
+
require "active_support/core_ext/object/try"
|
6
|
+
require "active_support/core_ext/array/wrap"
|
7
|
+
require "active_support/core_ext/hash/slice"
|
8
8
|
require "active_support/core_ext/hash/indifferent_access"
|
9
9
|
|
10
|
-
require
|
11
|
-
require
|
12
|
-
require
|
13
|
-
require
|
14
|
-
require
|
15
|
-
require
|
16
|
-
require
|
17
|
-
require
|
18
|
-
require
|
19
|
-
require
|
20
|
-
require
|
21
|
-
require
|
22
|
-
require
|
23
|
-
require
|
24
|
-
require
|
25
|
-
require
|
26
|
-
require
|
27
|
-
require
|
28
|
-
require
|
29
|
-
require
|
30
|
-
require
|
31
|
-
require
|
32
|
-
require 'transcriber/resource/builder/keys'
|
33
|
-
require 'transcriber/resource/builder/relations'
|
34
|
-
require 'transcriber/resource/builder/embeddables'
|
35
|
-
require 'transcriber/resource/builder/properties'
|
36
|
-
require 'transcriber/resource/builder/summarizations'
|
37
|
-
require 'transcriber/resource/builder'
|
38
|
-
require 'transcriber/resource'
|
39
|
-
require 'transcriber/configuration'
|
10
|
+
require "transcriber/resource/input_path"
|
11
|
+
require "transcriber/resource/input_parser"
|
12
|
+
require "transcriber/resource/parser"
|
13
|
+
require "transcriber/resource/response"
|
14
|
+
require "transcriber/resource/serialization/boolean"
|
15
|
+
require "transcriber/resource/serialization/date"
|
16
|
+
require "transcriber/resource/serialization/enumerable"
|
17
|
+
require "transcriber/resource/serialization/float"
|
18
|
+
require "transcriber/resource/serialization/integer"
|
19
|
+
require "transcriber/resource/serialization/string"
|
20
|
+
require "transcriber/resource/key"
|
21
|
+
require "transcriber/resource/key/property"
|
22
|
+
require "transcriber/resource/key/property/builder"
|
23
|
+
require "transcriber/resource/key/association"
|
24
|
+
require "transcriber/resource/key/relation"
|
25
|
+
require "transcriber/resource/key/relation/builder"
|
26
|
+
require "transcriber/resource/key/embeddable"
|
27
|
+
require "transcriber/resource/key/embeddable/builder"
|
28
|
+
require "transcriber/resource/key/href"
|
29
|
+
require "transcriber/resource/builder"
|
30
|
+
require "transcriber/resource"
|
31
|
+
require "transcriber/configuration"
|
40
32
|
|
41
33
|
module Transcriber
|
42
34
|
def self.configuration
|
@@ -2,7 +2,7 @@ module Transcriber
|
|
2
2
|
class Configuration
|
3
3
|
attr_accessor :host
|
4
4
|
|
5
|
-
DefaultHandler =
|
5
|
+
DefaultHandler = proc {|keys| keys}
|
6
6
|
|
7
7
|
def convert_input_keys
|
8
8
|
@convert_input_keys || DefaultHandler
|
@@ -11,5 +11,29 @@ module Transcriber
|
|
11
11
|
def convert_input_keys=(converter)
|
12
12
|
@convert_input_keys = converter
|
13
13
|
end
|
14
|
+
|
15
|
+
def true_value
|
16
|
+
@true || true
|
17
|
+
end
|
18
|
+
|
19
|
+
def true_value=(value)
|
20
|
+
@true = value
|
21
|
+
end
|
22
|
+
|
23
|
+
def false_value
|
24
|
+
@false || false
|
25
|
+
end
|
26
|
+
|
27
|
+
def false_value=(value)
|
28
|
+
@false = value
|
29
|
+
end
|
30
|
+
|
31
|
+
def date_format
|
32
|
+
@date_format
|
33
|
+
end
|
34
|
+
|
35
|
+
def date_format=(format)
|
36
|
+
@date_format = format
|
37
|
+
end
|
14
38
|
end
|
15
39
|
end
|
@@ -1,11 +1,30 @@
|
|
1
1
|
module Transcriber
|
2
2
|
class Resource
|
3
3
|
module Builder
|
4
|
-
include
|
5
|
-
include
|
6
|
-
include
|
7
|
-
|
8
|
-
|
4
|
+
include Relation::Builder
|
5
|
+
include Embeddable::Builder
|
6
|
+
include Property::Builder
|
7
|
+
|
8
|
+
def key(key)
|
9
|
+
fail "you can't define a key with name '#{key.name}'" if not_allowed?(key)
|
10
|
+
key.model = self
|
11
|
+
attr_accessor key.name
|
12
|
+
self.keys << key
|
13
|
+
self.id_key = key if key.options[:id]
|
14
|
+
end
|
15
|
+
|
16
|
+
def summarizes(*args)
|
17
|
+
args.each do |name|
|
18
|
+
key = keys.find {|key| key.name == name}
|
19
|
+
summarized_keys << key if key
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def not_allowed?(key)
|
26
|
+
Resource.not_allowed_names.include?(key.name.to_s)
|
27
|
+
end
|
9
28
|
end
|
10
29
|
end
|
11
30
|
end
|
@@ -1,13 +1,19 @@
|
|
1
1
|
module Transcriber
|
2
2
|
class Resource
|
3
3
|
module InputParser
|
4
|
+
def to_input!(options = {})
|
5
|
+
to_input(options.merge(fail: true))
|
6
|
+
end
|
7
|
+
|
4
8
|
def to_input(options = {})
|
5
9
|
input = {}
|
10
|
+
propagatable_options = {without_nil: options[:without_nil],
|
11
|
+
fail: options[:fail]}
|
6
12
|
|
7
13
|
keys_to_input(options).each do |key|
|
8
14
|
value = __send__(key.name)
|
9
|
-
key_options = options.fetch(key.name, {
|
10
|
-
input.merge! key.to_input(value, self, key_options)
|
15
|
+
key_options = options.fetch(key.name, {}).merge(propagatable_options)
|
16
|
+
input.merge! key.to_input!(value, self, key_options)
|
11
17
|
end
|
12
18
|
|
13
19
|
input.with_indifferent_access
|
@@ -1,8 +1,10 @@
|
|
1
1
|
module Transcriber
|
2
2
|
class Resource
|
3
3
|
class Embeddable < Association
|
4
|
-
|
5
|
-
|
4
|
+
autoload :Parser, "transcriber/resource/key/embeddable/parser"
|
5
|
+
autoload :Response, "transcriber/resource/key/embeddable/response"
|
6
|
+
include Parser
|
7
|
+
include Response
|
6
8
|
|
7
9
|
attr_accessor :fields
|
8
10
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Transcriber
|
2
2
|
class Resource
|
3
|
-
|
4
|
-
module
|
3
|
+
class Embeddable
|
4
|
+
module Parser
|
5
5
|
def parse(item, resource = nil)
|
6
6
|
return parse_fields(item) if fields
|
7
7
|
value = digg(item)
|
@@ -21,7 +21,7 @@ module Transcriber
|
|
21
21
|
raw? ? attrs : super
|
22
22
|
end
|
23
23
|
|
24
|
-
def to_input(value, resource, options = {})
|
24
|
+
def to_input!(value, resource, options = {})
|
25
25
|
return {} if value.nil?
|
26
26
|
fields ? to_multiple_input(value, options)
|
27
27
|
: to_single_input(value, options)
|
@@ -1,8 +1,10 @@
|
|
1
1
|
module Transcriber
|
2
2
|
class Resource
|
3
3
|
class Property < Key
|
4
|
-
|
5
|
-
|
4
|
+
autoload :Parser, "transcriber/resource/key/property/parser"
|
5
|
+
autoload :Response, "transcriber/resource/key/property/response"
|
6
|
+
include Parser
|
7
|
+
include Response
|
6
8
|
|
7
9
|
attr_accessor :serializer, :translations
|
8
10
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Transcriber
|
2
2
|
class Resource
|
3
|
-
|
4
|
-
module
|
3
|
+
class Property
|
4
|
+
module Parser
|
5
5
|
def parse(item, resource = nil)
|
6
6
|
value = digg(item)
|
7
7
|
translate_from_input(serializer.serialize(value), resource)
|
@@ -14,16 +14,19 @@ module Transcriber
|
|
14
14
|
def translate_from_input(value, resource)
|
15
15
|
case translations
|
16
16
|
when nil then value
|
17
|
-
when Hash then translations.key(value)
|
18
17
|
when Proc then resource.instance_eval(&translations)
|
18
|
+
when Hash
|
19
|
+
fail "from input error" unless translations.has_value?(value)
|
20
|
+
translations.key(value)
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
22
24
|
def translate_to_input(value, resource)
|
23
25
|
case translations
|
24
|
-
when nil then value
|
25
|
-
when Hash then translations[value]
|
26
26
|
when Proc then resource.instance_eval(&translations)
|
27
|
+
when Hash
|
28
|
+
fail "to input error" unless translations.has_key?(value)
|
29
|
+
translations[value]
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
@@ -31,17 +34,28 @@ module Transcriber
|
|
31
34
|
value
|
32
35
|
end
|
33
36
|
|
34
|
-
def to_input(value, resource, options = {})
|
35
|
-
|
37
|
+
def to_input!(value, resource, options = {})
|
38
|
+
input_value = nil
|
39
|
+
|
40
|
+
begin
|
41
|
+
if translations
|
42
|
+
input_value = translate_to_input(value, resource)
|
43
|
+
else
|
44
|
+
input_value = serializer.desserialize(value)
|
45
|
+
end
|
46
|
+
rescue => exception
|
47
|
+
raise exception if options[:fail]
|
48
|
+
end
|
49
|
+
|
36
50
|
input = {}
|
37
51
|
path = input_path
|
38
52
|
|
39
53
|
if path.any?
|
40
54
|
last = path.pop
|
41
55
|
key_input = path.inject(input) {|buffer, key| buffer[key] = {}; buffer[key]}
|
42
|
-
key_input[last] =
|
56
|
+
key_input[last] = input_value
|
43
57
|
else
|
44
|
-
input.merge!(
|
58
|
+
input.merge!(input_value)
|
45
59
|
end
|
46
60
|
|
47
61
|
input
|
@@ -31,6 +31,19 @@ module Transcriber
|
|
31
31
|
fail "value not serializable: #{value}" if bool.nil?
|
32
32
|
end
|
33
33
|
end
|
34
|
+
|
35
|
+
def self.desserialize(value)
|
36
|
+
fail unless boolean?(value)
|
37
|
+
|
38
|
+
value ? Transcriber.configuration.true_value
|
39
|
+
: Transcriber.configuration.false_value
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def self.boolean?(value)
|
45
|
+
!!value == value
|
46
|
+
end
|
34
47
|
end
|
35
48
|
end
|
36
49
|
end
|
@@ -7,6 +7,14 @@ module Transcriber
|
|
7
7
|
rescue ArgumentError
|
8
8
|
raise "value not serializable: #{value}"
|
9
9
|
end
|
10
|
+
|
11
|
+
def self.desserialize(value)
|
12
|
+
date = value.kind_of?(::Date) ? value : ::Date.parse(value)
|
13
|
+
format = Transcriber.configuration.date_format
|
14
|
+
format ? date.strftime(format) : date.to_s
|
15
|
+
rescue ArgumentError
|
16
|
+
raise "value not desserializable: #{value}"
|
17
|
+
end
|
10
18
|
end
|
11
19
|
end
|
12
20
|
end
|
@@ -6,6 +6,11 @@ module Transcriber
|
|
6
6
|
fail "value not serializable: #{value}" unless value.kind_of?(::Enumerable)
|
7
7
|
value
|
8
8
|
end
|
9
|
+
|
10
|
+
def self.desserialize(value)
|
11
|
+
fail "value not desserializable: #{value}" unless value.kind_of?(::Enumerable)
|
12
|
+
value
|
13
|
+
end
|
9
14
|
end
|
10
15
|
end
|
11
16
|
end
|
data/lib/transcriber/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'unit/resource/builder/shared_example_for_association'
|
3
3
|
|
4
|
-
describe Resource::Builder
|
4
|
+
describe Resource::Embeddable::Builder do
|
5
5
|
before do
|
6
6
|
class Example < Transcriber::Resource
|
7
7
|
embeds_one :contract, some_option: 'contract options'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transcriber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.26
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-
|
14
|
+
date: 2011-10-04 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
18
|
-
requirement: &
|
18
|
+
requirement: &70153480625580 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '3.0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70153480625580
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: i18n
|
29
|
-
requirement: &
|
29
|
+
requirement: &70153480624980 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0.5'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70153480624980
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: rspec
|
40
|
-
requirement: &
|
40
|
+
requirement: &70153480616320 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '2.6'
|
46
46
|
type: :development
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70153480616320
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: guard
|
51
|
-
requirement: &
|
51
|
+
requirement: &70153480615520 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ~>
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0.5'
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70153480615520
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: guard-rspec
|
62
|
-
requirement: &
|
62
|
+
requirement: &70153480614880 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ~>
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0.4'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70153480614880
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: growl
|
73
|
-
requirement: &
|
73
|
+
requirement: &70153480614320 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ~>
|
@@ -78,7 +78,7 @@ dependencies:
|
|
78
78
|
version: '1.0'
|
79
79
|
type: :development
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70153480614320
|
82
82
|
description: ''
|
83
83
|
email:
|
84
84
|
- victorcrodrigues@gmail.com
|
@@ -128,6 +128,7 @@ files:
|
|
128
128
|
- examples/to_input/embeds_one.rb
|
129
129
|
- examples/to_input/embeds_one_without_key.rb
|
130
130
|
- examples/to_input/flattened.rb
|
131
|
+
- examples/to_input/serializables.rb
|
131
132
|
- examples/to_input/simple.rb
|
132
133
|
- examples/to_input/with_field.rb
|
133
134
|
- examples/to_input/with_field_path.rb
|
@@ -138,27 +139,25 @@ files:
|
|
138
139
|
- lib/transcriber/configuration.rb
|
139
140
|
- lib/transcriber/resource.rb
|
140
141
|
- lib/transcriber/resource/builder.rb
|
141
|
-
- lib/transcriber/resource/builder/embeddables.rb
|
142
|
-
- lib/transcriber/resource/builder/keys.rb
|
143
|
-
- lib/transcriber/resource/builder/properties.rb
|
144
|
-
- lib/transcriber/resource/builder/relations.rb
|
145
|
-
- lib/transcriber/resource/builder/summarizations.rb
|
146
142
|
- lib/transcriber/resource/input_parser.rb
|
147
143
|
- lib/transcriber/resource/input_path.rb
|
148
144
|
- lib/transcriber/resource/key.rb
|
149
145
|
- lib/transcriber/resource/key/association.rb
|
150
146
|
- lib/transcriber/resource/key/embeddable.rb
|
147
|
+
- lib/transcriber/resource/key/embeddable/builder.rb
|
148
|
+
- lib/transcriber/resource/key/embeddable/parser.rb
|
149
|
+
- lib/transcriber/resource/key/embeddable/response.rb
|
151
150
|
- lib/transcriber/resource/key/href.rb
|
151
|
+
- lib/transcriber/resource/key/href/response.rb
|
152
152
|
- lib/transcriber/resource/key/property.rb
|
153
|
+
- lib/transcriber/resource/key/property/builder.rb
|
154
|
+
- lib/transcriber/resource/key/property/parser.rb
|
155
|
+
- lib/transcriber/resource/key/property/response.rb
|
153
156
|
- lib/transcriber/resource/key/relation.rb
|
157
|
+
- lib/transcriber/resource/key/relation/builder.rb
|
158
|
+
- lib/transcriber/resource/key/relation/response.rb
|
154
159
|
- lib/transcriber/resource/parser.rb
|
155
|
-
- lib/transcriber/resource/parser/embeddable.rb
|
156
|
-
- lib/transcriber/resource/parser/property.rb
|
157
160
|
- lib/transcriber/resource/response.rb
|
158
|
-
- lib/transcriber/resource/response/embeddable.rb
|
159
|
-
- lib/transcriber/resource/response/href.rb
|
160
|
-
- lib/transcriber/resource/response/property.rb
|
161
|
-
- lib/transcriber/resource/response/relation.rb
|
162
161
|
- lib/transcriber/resource/serialization/boolean.rb
|
163
162
|
- lib/transcriber/resource/serialization/date.rb
|
164
163
|
- lib/transcriber/resource/serialization/enumerable.rb
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Transcriber
|
2
|
-
class Resource
|
3
|
-
module Builder
|
4
|
-
module Keys
|
5
|
-
def key(key)
|
6
|
-
fail "you can't define a key with name '#{key.name}'" if not_allowed?(key)
|
7
|
-
key.model = self
|
8
|
-
attr_accessor key.name
|
9
|
-
self.keys << key
|
10
|
-
self.id_key = key if key.options[:id]
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def not_allowed?(key)
|
16
|
-
Resource.not_allowed_names.include?(key.name.to_s)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|