CloudSesame 0.3.3 → 0.3.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e652837a674dc067f1330484f696ba6e5cefa439
4
- data.tar.gz: 40b265eaf764e89e15a5074e51dea46dcbdd0cce
3
+ metadata.gz: 3bf6f81b26eb550f9070666aec8fe39e26c1c066
4
+ data.tar.gz: 479a2c33a11b288bb5adf72a0f084cf5509fbd40
5
5
  SHA512:
6
- metadata.gz: f3b7685b103c802e5c336a34d44f72f0220a6cf74b2da2909760fc65e8ea17b660e42efcaa22a2a257d34513e4efbbeadbf4d0ff57fca967f1e8ece099209d94
7
- data.tar.gz: 5e9707453aafaf01c0eb99d2b19f892504d5da3354658206cc7cd53cf6ea3ed55fe19e3f3c7d4b675a135d6b5926df031699ea54876e0ba964032317252f8f1a
6
+ metadata.gz: 26c55c935f34915f9aee36d5e4579d0a5d413360d4c4260d6ff73421b05f8774fcd4dea82630a9c03b82b5faea45d3b86000ab9460cfc36ed4e8c92d3143462e
7
+ data.tar.gz: a88c64345840c77ef15d547ab468a688bdf6d378bec6ce80b41eb7da1acb012828551b7d1e3034c0e0019ba7b0e650eceecd5a8500ae3bfecf006be9b9f62b54
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- CloudSesame (0.3.3)
4
+ CloudSesame (0.3.4)
5
5
  aws-sdk (~> 2)
6
6
 
7
7
  GEM
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.3.3'
3
+ s.version = '0.3.4'
4
4
  s.date = '2016-01-20'
5
5
  s.summary = "AWS CloudSearch Query DSL"
6
6
  s.description = "AWS CloudSearch Query DSL"
data/lib/cloud_sesame.rb CHANGED
@@ -68,7 +68,7 @@ require 'cloud_sesame/query/node/return'
68
68
 
69
69
  # Query Builder Interface
70
70
  # ===============================================
71
- require 'cloud_sesame/query/methods'
71
+ require 'cloud_sesame/query/builder'
72
72
 
73
73
  # Domain Objects
74
74
  # ===============================================
@@ -2,7 +2,6 @@ module CloudSesame
2
2
  module Domain
3
3
  class Base
4
4
  extend Forwardable
5
- include Query::Methods
6
5
 
7
6
  attr_accessor :definition
8
7
  attr_reader :searchable, :result
@@ -13,6 +12,10 @@ module CloudSesame
13
12
  @searchable = searchable
14
13
  end
15
14
 
15
+ def builder
16
+ Query::Builder.new(context, searchable)
17
+ end
18
+
16
19
  def client
17
20
  @client ||= Client.new
18
21
  end
@@ -81,6 +84,13 @@ module CloudSesame
81
84
  context[:filter_query, true][:defaults] ||= []
82
85
  end
83
86
 
87
+ def method_missing(name, *args, &block)
88
+ b = builder
89
+ b.send(name, *args, &block)
90
+ rescue NoMethodError
91
+ super
92
+ end
93
+
84
94
  end
85
95
  end
86
96
  end
@@ -1,19 +1,19 @@
1
1
  module CloudSesame
2
2
  module Query
3
- module Methods
3
+ class Builder
4
4
  include DSL::Base
5
5
  include DSL::PageMethods
6
6
  include DSL::QueryMethods
7
7
  include DSL::ReturnMethods
8
8
  include DSL::SortMethods
9
9
 
10
- # Filter Query DSL
10
+ # # Filter Query DSL
11
11
  include DSL::BlockMethods
12
12
  include DSL::FieldMethods
13
13
  include DSL::FilterQueryMethods
14
14
  include DSL::ScopeMethods
15
15
 
16
- attr_reader :result
16
+ attr_reader :context, :searchable, :result
17
17
 
18
18
  def initialize(default_context, searchable)
19
19
  @context = default_context
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  module CloudSesame
4
4
  module Query
5
- describe Methods do
5
+ describe Builder do
6
6
  let(:client) { {} }
7
7
  let(:searchable_class) { "Test" }
8
8
  subject { Builder.new(client, searchable_class) }
@@ -11,7 +11,7 @@ module CloudSesame
11
11
  define_cloudsearch {}
12
12
  end
13
13
 
14
- subject(:cloudsearch) { Product.cloudsearch }
14
+ subject(:cloudsearch) { Product.cloudsearch.builder }
15
15
 
16
16
  after { subject.clear_request }
17
17
 
@@ -11,7 +11,7 @@ module CloudSesame
11
11
  define_cloudsearch {}
12
12
  end
13
13
 
14
- subject(:cloudsearch) { Product.cloudsearch }
14
+ subject(:cloudsearch) { Product.cloudsearch.builder }
15
15
 
16
16
  after { subject.clear_request }
17
17
 
@@ -14,7 +14,7 @@ module CloudSesame
14
14
  }
15
15
  end
16
16
 
17
- subject(:cloudsearch) { Product.cloudsearch }
17
+ subject(:cloudsearch) { Product.cloudsearch.builder }
18
18
 
19
19
  after { subject.clear_request }
20
20
 
@@ -14,7 +14,7 @@ module CloudSesame
14
14
  }
15
15
  end
16
16
 
17
- subject(:cloudsearch) { Product.cloudsearch }
17
+ subject(:cloudsearch) { Product.cloudsearch.builder }
18
18
 
19
19
  after { subject.clear_request }
20
20
 
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.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chu
@@ -139,6 +139,7 @@ files:
139
139
  - lib/cloud_sesame/query/ast/single_expression_operator.rb
140
140
  - lib/cloud_sesame/query/ast/term.rb
141
141
  - lib/cloud_sesame/query/ast/value.rb
142
+ - lib/cloud_sesame/query/builder.rb
142
143
  - lib/cloud_sesame/query/dsl/base.rb
143
144
  - lib/cloud_sesame/query/dsl/block_chaining_methods.rb
144
145
  - lib/cloud_sesame/query/dsl/block_methods.rb
@@ -155,7 +156,6 @@ files:
155
156
  - lib/cloud_sesame/query/error/invalid_syntax.rb
156
157
  - lib/cloud_sesame/query/error/missing_operator_symbol.rb
157
158
  - lib/cloud_sesame/query/error/missing_query.rb
158
- - lib/cloud_sesame/query/methods.rb
159
159
  - lib/cloud_sesame/query/node/abstract.rb
160
160
  - lib/cloud_sesame/query/node/facet.rb
161
161
  - lib/cloud_sesame/query/node/filter_query.rb
@@ -179,13 +179,13 @@ files:
179
179
  - spec/cloud_sesame/query/ast/or_spec.rb
180
180
  - spec/cloud_sesame/query/ast/root_spec.rb
181
181
  - spec/cloud_sesame/query/ast/single_expression_operator_spec.rb
182
+ - spec/cloud_sesame/query/builder_spec.rb
182
183
  - spec/cloud_sesame/query/dsl/base_spec.rb
183
184
  - spec/cloud_sesame/query/dsl/block_chaining_methods_spec.rb
184
185
  - spec/cloud_sesame/query/dsl/block_methods_spec.rb
185
186
  - spec/cloud_sesame/query/dsl/field_array_methods_spec.rb
186
187
  - spec/cloud_sesame/query/dsl/field_methods_spec.rb
187
188
  - spec/cloud_sesame/query/dsl_spec.rb
188
- - spec/cloud_sesame/query/methods_spec.rb
189
189
  - spec/cloud_sesame/query/node/abstract_spec.rb
190
190
  - spec/cloud_sesame/query/node/facet_spec.rb
191
191
  - spec/cloud_sesame/query/node/filter_query_spec.rb
@@ -232,13 +232,13 @@ test_files:
232
232
  - spec/cloud_sesame/query/ast/or_spec.rb
233
233
  - spec/cloud_sesame/query/ast/root_spec.rb
234
234
  - spec/cloud_sesame/query/ast/single_expression_operator_spec.rb
235
+ - spec/cloud_sesame/query/builder_spec.rb
235
236
  - spec/cloud_sesame/query/dsl/base_spec.rb
236
237
  - spec/cloud_sesame/query/dsl/block_chaining_methods_spec.rb
237
238
  - spec/cloud_sesame/query/dsl/block_methods_spec.rb
238
239
  - spec/cloud_sesame/query/dsl/field_array_methods_spec.rb
239
240
  - spec/cloud_sesame/query/dsl/field_methods_spec.rb
240
241
  - spec/cloud_sesame/query/dsl_spec.rb
241
- - spec/cloud_sesame/query/methods_spec.rb
242
242
  - spec/cloud_sesame/query/node/abstract_spec.rb
243
243
  - spec/cloud_sesame/query/node/facet_spec.rb
244
244
  - spec/cloud_sesame/query/node/filter_query_spec.rb