primedia-endeca 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/endeca.gemspec +1 -1
- data/lib/endeca/document.rb +5 -4
- data/lib/endeca/readers.rb +0 -17
- data/lib/endeca.rb +1 -1
- data/spec/endeca/document_spec.rb +2 -2
- data/spec/endeca/readers_spec.rb +0 -29
- metadata +1 -1
data/endeca.gemspec
CHANGED
data/lib/endeca/document.rb
CHANGED
@@ -36,8 +36,9 @@ module Endeca
|
|
36
36
|
def dimensions
|
37
37
|
return @dimensions if @dimensions
|
38
38
|
@dimensions = {}
|
39
|
-
(raw['Dimensions'] || {}).each do |name,
|
40
|
-
|
39
|
+
(raw['Dimensions'] || {}).each do |name, values|
|
40
|
+
values = [values] unless Array === values
|
41
|
+
@dimensions[name] = values.map(&Dimension)
|
41
42
|
end
|
42
43
|
@dimensions
|
43
44
|
end
|
@@ -72,7 +73,7 @@ module Endeca
|
|
72
73
|
# Listing.find(:first, :available => true)
|
73
74
|
def self.find(what, query_options={})
|
74
75
|
case what
|
75
|
-
when /^[A-Z\d]+$/
|
76
|
+
when Integer, /^[A-Z\d]+$/
|
76
77
|
by_id(what, query_options)
|
77
78
|
when :first
|
78
79
|
first(query_options)
|
@@ -102,7 +103,7 @@ module Endeca
|
|
102
103
|
private
|
103
104
|
|
104
105
|
def self.request(query_options)
|
105
|
-
query_options = transform_query_options(
|
106
|
+
query_options = transform_query_options(get_default_params.merge(query_options))
|
106
107
|
Endeca::Request.perform(get_path, query_options)
|
107
108
|
end
|
108
109
|
end
|
data/lib/endeca/readers.rb
CHANGED
@@ -74,22 +74,5 @@ module Endeca
|
|
74
74
|
def boolean_reader(*attrs)
|
75
75
|
reader(*attrs) { |value| value == "1" ? true : false }
|
76
76
|
end
|
77
|
-
|
78
|
-
def dim_reader(*attrs, &block)
|
79
|
-
hash = {}
|
80
|
-
block ||= lambda {|x| x}
|
81
|
-
|
82
|
-
hash.update(attrs.pop) if Hash === attrs.last
|
83
|
-
|
84
|
-
attrs.each{|attr| hash[attr] = attr}
|
85
|
-
|
86
|
-
hash.each do |variable, method|
|
87
|
-
define_method method do
|
88
|
-
dim = dimensions[variable.to_s]
|
89
|
-
name = dim && dim.name
|
90
|
-
block.call(name)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
77
|
end
|
95
78
|
end
|
data/lib/endeca.rb
CHANGED
@@ -88,14 +88,14 @@ describe Endeca::Document do
|
|
88
88
|
|
89
89
|
@document.
|
90
90
|
stub!(:raw).
|
91
|
-
and_return({'Dimensions' => {"key" => dimension_hash}})
|
91
|
+
and_return({'Dimensions' => {"key" => [dimension_hash]}})
|
92
92
|
|
93
93
|
Endeca::Dimension.
|
94
94
|
should_receive(:new).
|
95
95
|
with(dimension_hash).
|
96
96
|
and_return(dimension)
|
97
97
|
|
98
|
-
@document.dimensions["key"].should == dimension
|
98
|
+
@document.dimensions["key"].should == [dimension]
|
99
99
|
end
|
100
100
|
end
|
101
101
|
end
|
data/spec/endeca/readers_spec.rb
CHANGED
@@ -72,35 +72,6 @@ describe Endeca::Readers do
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
-
describe ".dim_reader" do
|
76
|
-
describe "with a symbol" do
|
77
|
-
it "adds a reader that returns the name of that dimension" do
|
78
|
-
@helper.dim_reader(:type)
|
79
|
-
dimensions = {"type" => mock('type', :name => 'a type')}
|
80
|
-
@a_helper.stub!(:dimensions).and_return(dimensions)
|
81
|
-
@a_helper.type.should == 'a type'
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
describe "with a string" do
|
86
|
-
it "adds a reader that returns the name of that dimension" do
|
87
|
-
@helper.dim_reader('type')
|
88
|
-
dimensions = {"type" => mock('type', :name => 'a type')}
|
89
|
-
@a_helper.stub!(:dimensions).and_return(dimensions)
|
90
|
-
@a_helper.type.should == 'a type'
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
describe "with a string that has spaces" do
|
95
|
-
it "adds a reader that returns the name of that dimension" do
|
96
|
-
@helper.dim_reader('type a lot' => :type_a_lot)
|
97
|
-
dimensions = {"type a lot" => mock('type', :name => 'a type')}
|
98
|
-
@a_helper.stub!(:dimensions).and_return(dimensions)
|
99
|
-
@a_helper.type_a_lot.should == 'a type'
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
75
|
describe "exception handling" do
|
105
76
|
it "should raise an Endeca::Reader error if the call fails" do
|
106
77
|
helper = Class.new(Endeca::Document)
|