fire-model 0.0.1 → 0.0.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 +4 -4
- data/Gemfile +2 -0
- data/VERSION +1 -1
- data/fire-model.gemspec +5 -2
- data/lib/fire-model.rb +1 -0
- data/lib/model.rb +11 -14
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7fd0add86121b4fbf5a68566e37c7263fd06aa5
|
4
|
+
data.tar.gz: c15777871d1c0bf246e586a09ab03b8fb3d2d4c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94df03e10630d8eca7876f2b321988970e591107ca8e6486cff9c72a310e045a966506d9702361330acc626e0887ef4167edaa2ea010fa246c2a6212c23cd931
|
7
|
+
data.tar.gz: 136759d17f0a80f3d96ab9bae63db8d1614ce6c95dfadf411200d5b12b4c0a7aaead321045e00d86f96bb0fa89b492b85f4c054b8606d7b5fa8e4ed8ed0de286
|
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/fire-model.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: fire-model 0.0.
|
5
|
+
# stub: fire-model 0.0.2 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "fire-model"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.2"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
@@ -42,6 +42,7 @@ Gem::Specification.new do |s|
|
|
42
42
|
s.specification_version = 4
|
43
43
|
|
44
44
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
45
|
+
s.add_runtime_dependency(%q<tarvit-helpers>, [">= 0"])
|
45
46
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
46
47
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
47
48
|
s.add_development_dependency(%q<rspec>, ["~> 3.2"])
|
@@ -51,6 +52,7 @@ Gem::Specification.new do |s|
|
|
51
52
|
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
52
53
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
53
54
|
else
|
55
|
+
s.add_dependency(%q<tarvit-helpers>, [">= 0"])
|
54
56
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
55
57
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
56
58
|
s.add_dependency(%q<rspec>, ["~> 3.2"])
|
@@ -61,6 +63,7 @@ Gem::Specification.new do |s|
|
|
61
63
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
62
64
|
end
|
63
65
|
else
|
66
|
+
s.add_dependency(%q<tarvit-helpers>, [">= 0"])
|
64
67
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
65
68
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
66
69
|
s.add_dependency(%q<rspec>, ["~> 3.2"])
|
data/lib/fire-model.rb
CHANGED
data/lib/model.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
module Fire
|
2
2
|
require 'ostruct'
|
3
3
|
require 'active_support'
|
4
|
+
require 'tarvit-helpers'
|
4
5
|
|
5
6
|
class Model < OpenStruct
|
6
|
-
|
7
|
+
include TarvitHelpers::NonSharedAccessors
|
7
8
|
LEVEL_SEPARATOR = ?/
|
8
9
|
|
9
|
-
|
10
|
-
cattr_accessor :global_fire_collection, :global_path_keys
|
10
|
+
non_shared_cattr_accessor :fire_collection, :path_keys
|
11
11
|
|
12
12
|
def initialize(attrs={})
|
13
13
|
data = self.class.prepare_hash(attrs)
|
@@ -53,7 +53,7 @@ module Fire
|
|
53
53
|
# Data Methods
|
54
54
|
|
55
55
|
def path_values
|
56
|
-
self.class.
|
56
|
+
self.class.all_path_keys.map do |pk|
|
57
57
|
path_value = send(pk)
|
58
58
|
raise PathValueMissingError.new(pk) if path_value.to_s.empty?
|
59
59
|
self.class.path_value_param(path_value)
|
@@ -62,14 +62,14 @@ module Fire
|
|
62
62
|
|
63
63
|
def custom_data(hash=self.data)
|
64
64
|
res = hash.to_a.select do |(k, v)|
|
65
|
-
!self.class.
|
65
|
+
!self.class.all_path_keys.include?(k)
|
66
66
|
end
|
67
67
|
self.class.prepare_hash(res)
|
68
68
|
end
|
69
69
|
|
70
70
|
def path_data(hash=self.data)
|
71
71
|
res = hash.to_a.select do |(k, v)|
|
72
|
-
self.class.
|
72
|
+
self.class.all_path_keys.include?(k.to_sym)
|
73
73
|
end
|
74
74
|
self.class.prepare_hash(res)
|
75
75
|
end
|
@@ -99,32 +99,29 @@ module Fire
|
|
99
99
|
# Klass Setters
|
100
100
|
|
101
101
|
def in_collection(name)
|
102
|
-
self.
|
103
|
-
self.global_fire_collection[default_collection_name] = name
|
102
|
+
self.fire_collection = name
|
104
103
|
end
|
105
104
|
|
106
105
|
def has_path_keys(*keys)
|
107
|
-
self.
|
108
|
-
self.global_path_keys[default_collection_name]=keys
|
106
|
+
self.path_keys = keys
|
109
107
|
end
|
110
108
|
|
111
109
|
# Klass Accessors
|
112
110
|
|
113
111
|
def collection_name
|
114
|
-
|
115
|
-
custom_name || default_collection_name
|
112
|
+
self.fire_collection || default_collection_name
|
116
113
|
end
|
117
114
|
|
118
115
|
def connection
|
119
116
|
Fire::Connection::Request.new
|
120
117
|
end
|
121
118
|
|
122
|
-
def
|
119
|
+
def all_path_keys
|
123
120
|
own_path_keys + default_path_keys
|
124
121
|
end
|
125
122
|
|
126
123
|
def own_path_keys
|
127
|
-
|
124
|
+
self.path_keys || []
|
128
125
|
end
|
129
126
|
|
130
127
|
# Record Methods
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fire-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaly Tarasenko
|
@@ -10,6 +10,20 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2015-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: tarvit-helpers
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: shoulda
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|