CloudSesame 0.4.3 → 0.4.4

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: 38932c184fc0a22bb899a645b63bc7d3b1800b9f
4
- data.tar.gz: 9bb022f324c951547374ac0dbea2e90ba20208fe
3
+ metadata.gz: 611b0e564c1c4f2c2b93413f556e558d07719aa2
4
+ data.tar.gz: cfe2093f986c21294dc032afe6fc91442917cb4a
5
5
  SHA512:
6
- metadata.gz: 977d4661346efb23226ac794f5774463279c82057a7c67c1069bf2ebc1a554619d319184b0ffdb3a79395395bb1a39ecf9db0e762f6a394d99fdf434df431afa
7
- data.tar.gz: bcd8037e3577cc9d65b0bf276da30c658aaeab233b9b224e3aa9011493541b1178eba3503893ce5265d033ecdf06e3302850e7730f6359c371abcbfb6ebf9d8d
6
+ metadata.gz: b7807f9d005f6532f8dbbe7800fa92db1a9a29b59edc1896a95d1a95c07ac0ad78c43e5d3fbbb293ab731195f5ef312c2c79d8c37c0affb1978b7d9baae9baf7
7
+ data.tar.gz: 8d8bca0a556d14c015e711f6fd3346cdb27f6c6ff90b65baa83f94ac8b7fd3069cc65913914b31401598d41d6092857e78890f5c7a487692f87bdd92abe765d8
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- CloudSesame (0.4.3)
5
- activesupport
4
+ CloudSesame (0.4.4)
5
+ activesupport (~> 4.2)
6
6
  aws-sdk (~> 2)
7
7
 
8
8
  GEM
@@ -89,6 +89,3 @@ DEPENDENCIES
89
89
  pry (~> 0)
90
90
  rspec (~> 3)
91
91
  ruby-prof
92
-
93
- BUNDLED WITH
94
- 1.11.2
data/cloud_sesame.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'CloudSesame'
3
- s.version = '0.4.3'
3
+ s.version = '0.4.4'
4
4
  s.date = '2016-01-20'
5
5
  s.summary = "AWS CloudSearch Query DSL"
6
6
  s.description = "AWS CloudSearch Query DSL"
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ['lib']
18
18
 
19
19
  s.add_dependency 'aws-sdk', '~> 2'
20
- s.add_dependency 'activesupport'
20
+ s.add_dependency 'activesupport', '~> 4.2'
21
21
 
22
22
  s.add_development_dependency 'rspec', '~> 3'
23
23
  s.add_development_dependency 'pry', '~> 0'
@@ -1,5 +1,3 @@
1
- require 'active_support/core_ext/object/deep_dup'
2
-
3
1
  module CloudSesame
4
2
  class Context
5
3
  extend Forwardable
@@ -98,7 +98,9 @@ module CloudSesame
98
98
  end
99
99
 
100
100
  def method_missing(name, *args, &block)
101
- builder.send(name, *args, &block) rescue super
101
+ builder.send(name, *args, &block)
102
+ # rescue NoMethodError
103
+ # super
102
104
  end
103
105
 
104
106
  end
@@ -12,8 +12,9 @@ module CloudSesame
12
12
  include DSL::FieldMethods
13
13
  include DSL::FilterQueryMethods
14
14
  include DSL::ScopeMethods
15
+ include DSL::ResponseMethods
15
16
 
16
- attr_reader :context, :searchable, :result
17
+ attr_reader :context, :searchable
17
18
 
18
19
  def initialize(context, searchable)
19
20
  @context = Context.new.duplicate context
@@ -24,10 +25,6 @@ module CloudSesame
24
25
  @request ||= Node::Request.new context
25
26
  end
26
27
 
27
- def response
28
- @response ||= search
29
- end
30
-
31
28
  def compile
32
29
  request.compile
33
30
  end
@@ -36,31 +33,6 @@ module CloudSesame
36
33
  "#<#{ self.class }:#{ object_id } #{ compile }>"
37
34
  end
38
35
 
39
- # ENDING METHODS
40
- # =========================================
41
-
42
- def found
43
- response.hits.found
44
- end
45
-
46
- def results
47
- response.hits.hit
48
- end
49
-
50
- def each(&block)
51
- results.each &block
52
- end
53
-
54
- def map(&block)
55
- results.map &block
56
- end
57
-
58
- def search
59
- compiled = request.compile
60
- raise Error::MissingQuery.new("Query or FilterQuery can not be empty!") if !compiled[:query] || compiled[:query].empty?
61
- @response = searchable.cloudsearch.client.search compiled
62
- end
63
-
64
36
  private
65
37
 
66
38
  def dsl_scope
@@ -0,0 +1,38 @@
1
+ module CloudSesame
2
+ module Query
3
+ module DSL
4
+ module ResponseMethods
5
+
6
+ def response
7
+ @response ||= search
8
+ end
9
+
10
+ # ENDING METHODS
11
+ # =========================================
12
+
13
+ def found
14
+ response.hits.found
15
+ end
16
+
17
+ def results
18
+ response.hits.hit
19
+ end
20
+
21
+ def each(&block)
22
+ results.each &block
23
+ end
24
+
25
+ def map(&block)
26
+ results.map &block
27
+ end
28
+
29
+ def search
30
+ compiled = request.compile
31
+ raise Error::MissingQuery.new("Query or FilterQuery can not be empty!") if !compiled[:query] || compiled[:query].empty?
32
+ @response = searchable.cloudsearch.client.search compiled
33
+ end
34
+
35
+ end
36
+ end
37
+ end
38
+ end
data/lib/cloud_sesame.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # External Libraries
2
2
  # ===============================================
3
+ require 'active_support/all'
3
4
  require 'aws-sdk'
4
5
  require 'forwardable'
5
6
 
@@ -26,6 +27,7 @@ require 'cloud_sesame/query/dsl/operator_methods'
26
27
  require 'cloud_sesame/query/dsl/page_methods'
27
28
  require 'cloud_sesame/query/dsl/query_methods'
28
29
  require 'cloud_sesame/query/dsl/range_methods'
30
+ require 'cloud_sesame/query/dsl/response_methods'
29
31
  require 'cloud_sesame/query/dsl/return_methods'
30
32
  require 'cloud_sesame/query/dsl/scope_methods'
31
33
  require 'cloud_sesame/query/dsl/sort_methods'
@@ -62,10 +62,10 @@
62
62
  # end
63
63
 
64
64
 
65
- # n = 10_000
66
- # q = nil
67
- # result = RubyProf.profile do
68
- # n.times do
65
+ # # n = 10_000
66
+ # # q = nil
67
+ # # result = RubyProf.profile do
68
+ # # n.times do
69
69
  # q = Product.cloudsearch.query("black jacket").sort(price: :asc).page(1).size(1000).and {
70
70
  # or! {
71
71
  # tags "1", "2"
@@ -93,12 +93,12 @@
93
93
  # }
94
94
  # }
95
95
  # }
96
- # q.applied_filters
96
+ # # q.applied_filters
97
97
 
98
- # end
99
- # end
100
- # printer = RubyProf::FlatPrinter.new(result)
101
- # printer.print(STDOUT, {})
98
+ # # end
99
+ # # end
100
+ # # printer = RubyProf::FlatPrinter.new(result)
101
+ # # printer.print(STDOUT, {})
102
102
 
103
103
  # binding.pry
104
104
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: CloudSesame
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chu
@@ -21,98 +21,98 @@ dependencies:
21
21
  name: aws-sdk
22
22
  requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2'
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: activesupport
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '4.2'
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '4.2'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3'
55
55
  type: :development
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: pry
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: guard
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: guard-rspec
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  type: :development
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: ruby-prof
106
106
  requirement: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  description: AWS CloudSearch Query DSL
@@ -121,8 +121,8 @@ executables: []
121
121
  extensions: []
122
122
  extra_rdoc_files: []
123
123
  files:
124
- - ".gitignore"
125
- - ".rspec"
124
+ - .gitignore
125
+ - .rspec
126
126
  - Gemfile
127
127
  - Gemfile.lock
128
128
  - Guardfile
@@ -165,6 +165,7 @@ files:
165
165
  - lib/cloud_sesame/query/dsl/page_methods.rb
166
166
  - lib/cloud_sesame/query/dsl/query_methods.rb
167
167
  - lib/cloud_sesame/query/dsl/range_methods.rb
168
+ - lib/cloud_sesame/query/dsl/response_methods.rb
168
169
  - lib/cloud_sesame/query/dsl/return_methods.rb
169
170
  - lib/cloud_sesame/query/dsl/scope_methods.rb
170
171
  - lib/cloud_sesame/query/dsl/sort_methods.rb
@@ -222,17 +223,17 @@ require_paths:
222
223
  - lib
223
224
  required_ruby_version: !ruby/object:Gem::Requirement
224
225
  requirements:
225
- - - ">="
226
+ - - '>='
226
227
  - !ruby/object:Gem::Version
227
228
  version: '0'
228
229
  required_rubygems_version: !ruby/object:Gem::Requirement
229
230
  requirements:
230
- - - ">="
231
+ - - '>='
231
232
  - !ruby/object:Gem::Version
232
233
  version: '0'
233
234
  requirements: []
234
235
  rubyforge_project:
235
- rubygems_version: 2.5.1
236
+ rubygems_version: 2.4.8
236
237
  signing_key:
237
238
  specification_version: 4
238
239
  summary: AWS CloudSearch Query DSL