curator 0.4.0 → 0.5.0
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.
- data/lib/curator/memory/data_store.rb +1 -1
- data/lib/curator/mongo/data_store.rb +17 -4
- data/lib/curator/repository.rb +3 -1
- data/lib/curator/resettable_riak/data_store.rb +3 -3
- data/lib/curator/riak/data_store.rb +2 -1
- data/lib/rails/generators/curator/model/model_generator.rb +19 -0
- data/lib/rails/generators/curator/model/templates/model.rb +8 -0
- data/lib/rails/generators/curator/repository/repository_generator.rb +19 -0
- data/lib/rails/generators/curator/repository/templates/repository.rb +8 -0
- metadata +14 -10
@@ -28,8 +28,7 @@ module Curator
|
|
28
28
|
options.fetch(:index, {}).each do |index_name, index_value|
|
29
29
|
collection.ensure_index index_name
|
30
30
|
end
|
31
|
-
|
32
|
-
Hash[:key => object_id]
|
31
|
+
collection.save document
|
33
32
|
end
|
34
33
|
|
35
34
|
def self.delete(collection_name, id)
|
@@ -39,9 +38,11 @@ module Curator
|
|
39
38
|
|
40
39
|
def self.find_by_index(collection_name, field, query)
|
41
40
|
return [] if query.nil?
|
42
|
-
|
41
|
+
|
42
|
+
exp = {}
|
43
|
+
exp[field] = query
|
43
44
|
collection = _collection(collection_name)
|
44
|
-
documents = collection.find(
|
45
|
+
documents = collection.find(_normalize_query(exp))
|
45
46
|
documents.map {|doc| normalize_document(doc) }
|
46
47
|
end
|
47
48
|
|
@@ -71,6 +72,18 @@ module Curator
|
|
71
72
|
key = doc.delete '_id'
|
72
73
|
Hash[:key => key, :data => doc]
|
73
74
|
end
|
75
|
+
|
76
|
+
def self._normalize_query(query)
|
77
|
+
query.inject({}) do |hash, (key, value)|
|
78
|
+
case value
|
79
|
+
when Range
|
80
|
+
hash[key] = {'$gte' => value.first, '$lt' => value.last}
|
81
|
+
else
|
82
|
+
hash[key] = value
|
83
|
+
end
|
84
|
+
hash
|
85
|
+
end
|
86
|
+
end
|
74
87
|
end
|
75
88
|
end
|
76
89
|
end
|
data/lib/curator/repository.rb
CHANGED
@@ -74,8 +74,10 @@ module Curator
|
|
74
74
|
hash[:key] = object.id
|
75
75
|
data_store.save(hash)
|
76
76
|
else
|
77
|
-
object.instance_variable_set("@id", data_store.save(hash)
|
77
|
+
object.instance_variable_set("@id", data_store.save(hash))
|
78
78
|
end
|
79
|
+
|
80
|
+
object
|
79
81
|
end
|
80
82
|
|
81
83
|
def serialize(object)
|
@@ -35,15 +35,15 @@ module Curator
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def self.save(options)
|
38
|
-
|
38
|
+
key = super
|
39
39
|
|
40
40
|
unless @exclude_from_reset
|
41
41
|
@bucket_names ||= {}
|
42
42
|
@bucket_names[options[:collection_name]] ||= []
|
43
|
-
@bucket_names[options[:collection_name]] <<
|
43
|
+
@bucket_names[options[:collection_name]] << key
|
44
44
|
end
|
45
45
|
|
46
|
-
|
46
|
+
key
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rails/generators/named_base'
|
2
|
+
|
3
|
+
module Curator
|
4
|
+
module Generators
|
5
|
+
class ModelGenerator < Rails::Generators::NamedBase
|
6
|
+
desc 'Creates a Curator model in app/models'
|
7
|
+
argument :attributes, :type => :array, :default => [], :banner => "field field"
|
8
|
+
check_class_collision
|
9
|
+
|
10
|
+
source_root File.expand_path("../templates", __FILE__)
|
11
|
+
|
12
|
+
def create_model_file
|
13
|
+
template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
|
14
|
+
end
|
15
|
+
|
16
|
+
hook_for :test_framework
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rails/generators/named_base'
|
2
|
+
|
3
|
+
module Curator
|
4
|
+
module Generators
|
5
|
+
class RepositoryGenerator < Rails::Generators::NamedBase
|
6
|
+
desc 'Creates a Curator repository in app/repositories'
|
7
|
+
argument :attributes, :type => :array, :default => [], :banner => "field field"
|
8
|
+
check_class_collision :suffix => 'Repository'
|
9
|
+
|
10
|
+
source_root File.expand_path("../templates", __FILE__)
|
11
|
+
|
12
|
+
def create_model_file
|
13
|
+
template 'repository.rb', File.join('app/repositories', class_path, "#{file_name}.rb")
|
14
|
+
end
|
15
|
+
|
16
|
+
hook_for :test_framework
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70105518206320 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70105518206320
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activemodel
|
27
|
-
requirement: &
|
27
|
+
requirement: &70105518204680 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.0.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70105518204680
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: json
|
38
|
-
requirement: &
|
38
|
+
requirement: &70105518203680 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70105518203680
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: riak-client
|
49
|
-
requirement: &
|
49
|
+
requirement: &70105526443500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 1.0.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70105526443500
|
58
58
|
description: Model and repository framework
|
59
59
|
email: code@getbraintree.com
|
60
60
|
executables: []
|
@@ -76,6 +76,10 @@ files:
|
|
76
76
|
- lib/curator/riak/configuration.rb
|
77
77
|
- lib/curator/riak/data_store.rb
|
78
78
|
- lib/curator.rb
|
79
|
+
- lib/rails/generators/curator/model/model_generator.rb
|
80
|
+
- lib/rails/generators/curator/model/templates/model.rb
|
81
|
+
- lib/rails/generators/curator/repository/repository_generator.rb
|
82
|
+
- lib/rails/generators/curator/repository/templates/repository.rb
|
79
83
|
homepage: http://github.com/braintree/curator
|
80
84
|
licenses: []
|
81
85
|
post_install_message:
|