CloudSesame 0.3.3 → 0.3.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: 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