kashiwamochi 0.2.2 → 0.2.3
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/.gitignore +16 -1
- data/.travis.yml +3 -1
- data/lib/kashiwamochi.rb +20 -6
- data/lib/kashiwamochi/action_controller.rb +1 -1
- data/lib/kashiwamochi/configuration.rb +2 -8
- data/lib/kashiwamochi/query.rb +12 -11
- data/lib/kashiwamochi/railtie.rb +1 -1
- data/lib/kashiwamochi/search.rb +0 -2
- data/lib/kashiwamochi/sort.rb +0 -4
- data/lib/kashiwamochi/version.rb +1 -1
- metadata +51 -16
- data/log/development.log +0 -0
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/lib/kashiwamochi.rb
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
require 'active_support'
|
|
2
|
-
require 'active_support/core_ext/hash'
|
|
3
1
|
require "kashiwamochi/version"
|
|
4
|
-
require 'kashiwamochi/configuration'
|
|
5
|
-
require 'kashiwamochi/search'
|
|
6
|
-
require 'kashiwamochi/sort'
|
|
7
|
-
require 'kashiwamochi/query'
|
|
8
2
|
require 'kashiwamochi/railtie' if defined?(Rails)
|
|
9
3
|
|
|
4
|
+
module Kashiwamochi
|
|
5
|
+
autoload :Configuration, 'kashiwamochi/configuration'
|
|
6
|
+
autoload :Search, 'kashiwamochi/search'
|
|
7
|
+
autoload :Sort, 'kashiwamochi/sort'
|
|
8
|
+
autoload :Query, 'kashiwamochi/query'
|
|
9
|
+
|
|
10
|
+
class << self
|
|
11
|
+
def config
|
|
12
|
+
@config ||= Kashiwamochi::Configuration.new
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def configure
|
|
16
|
+
yield config
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def build(attributes)
|
|
20
|
+
Query.new attributes
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -3,7 +3,7 @@ module Kashiwamochi
|
|
|
3
3
|
extend ActiveSupport::Concern
|
|
4
4
|
|
|
5
5
|
def build_search_query!
|
|
6
|
-
q = params.delete(Kashiwamochi.config.search_key)
|
|
6
|
+
q = params.delete(Kashiwamochi.config.search_key) || {}
|
|
7
7
|
instance_variable_set("@#{Kashiwamochi.config.search_key}", Kashiwamochi.build(q))
|
|
8
8
|
end
|
|
9
9
|
alias_method :build_query!, :build_search_query! unless defined?(build_query!)
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
def self.config
|
|
3
|
-
@config ||= Kashiwamochi::Configuration.new
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
def self.configure
|
|
7
|
-
yield config
|
|
8
|
-
end
|
|
1
|
+
require 'active_support/configurable'
|
|
9
2
|
|
|
3
|
+
module Kashiwamochi
|
|
10
4
|
class Configuration
|
|
11
5
|
include ActiveSupport::Configurable
|
|
12
6
|
config_accessor :search_key
|
data/lib/kashiwamochi/query.rb
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
require '
|
|
2
|
-
require 'kashiwamochi/search'
|
|
3
|
-
require 'kashiwamochi/sort'
|
|
1
|
+
require 'active_support/ordered_hash'
|
|
4
2
|
|
|
5
3
|
module Kashiwamochi
|
|
6
|
-
|
|
7
4
|
class Query
|
|
8
5
|
attr_accessor :search_params, :sort_params
|
|
9
6
|
|
|
10
|
-
def initialize(attributes)
|
|
7
|
+
def initialize(attributes = {})
|
|
11
8
|
@search_params = ActiveSupport::OrderedHash.new.with_indifferent_access
|
|
12
9
|
@sort_params = ActiveSupport::OrderedHash.new.with_indifferent_access
|
|
13
10
|
|
|
14
11
|
sort_key = Kashiwamochi.config.sort_key.to_s
|
|
15
12
|
|
|
16
|
-
attributes ||= {}
|
|
17
13
|
attributes.each do |key, value|
|
|
18
14
|
if key.to_s == sort_key
|
|
19
15
|
add_sort_param(key, value)
|
|
@@ -47,6 +43,16 @@ module Kashiwamochi
|
|
|
47
43
|
end
|
|
48
44
|
end
|
|
49
45
|
|
|
46
|
+
def respond_to?(method_id, include_private = false)
|
|
47
|
+
super || respond_to_missing?(method_id, include_private)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def respond_to_missing?(method_id, include_private)
|
|
51
|
+
method_name = method_id.to_s
|
|
52
|
+
return true if method_name =~ /(.+)=$/
|
|
53
|
+
super
|
|
54
|
+
end
|
|
55
|
+
|
|
50
56
|
def method_missing(method_id, *args, &block)
|
|
51
57
|
method_name = method_id.to_s
|
|
52
58
|
if method_name =~ /(.+)=$/
|
|
@@ -79,9 +85,4 @@ module Kashiwamochi
|
|
|
79
85
|
false
|
|
80
86
|
end
|
|
81
87
|
end
|
|
82
|
-
|
|
83
|
-
def self.build(attributes)
|
|
84
|
-
Query.new attributes
|
|
85
|
-
end
|
|
86
|
-
|
|
87
88
|
end
|
data/lib/kashiwamochi/railtie.rb
CHANGED
data/lib/kashiwamochi/search.rb
CHANGED
data/lib/kashiwamochi/sort.rb
CHANGED
data/lib/kashiwamochi/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kashiwamochi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.3
|
|
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-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: railties
|
|
16
|
-
requirement:
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ~>
|
|
@@ -21,10 +21,15 @@ dependencies:
|
|
|
21
21
|
version: '3.0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements:
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ~>
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '3.0'
|
|
25
30
|
- !ruby/object:Gem::Dependency
|
|
26
31
|
name: activerecord
|
|
27
|
-
requirement:
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
28
33
|
none: false
|
|
29
34
|
requirements:
|
|
30
35
|
- - ~>
|
|
@@ -32,10 +37,15 @@ dependencies:
|
|
|
32
37
|
version: '3.0'
|
|
33
38
|
type: :development
|
|
34
39
|
prerelease: false
|
|
35
|
-
version_requirements:
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ~>
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '3.0'
|
|
36
46
|
- !ruby/object:Gem::Dependency
|
|
37
47
|
name: sqlite3
|
|
38
|
-
requirement:
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
39
49
|
none: false
|
|
40
50
|
requirements:
|
|
41
51
|
- - ! '>='
|
|
@@ -43,10 +53,15 @@ dependencies:
|
|
|
43
53
|
version: '0'
|
|
44
54
|
type: :development
|
|
45
55
|
prerelease: false
|
|
46
|
-
version_requirements:
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
47
62
|
- !ruby/object:Gem::Dependency
|
|
48
63
|
name: rake
|
|
49
|
-
requirement:
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
65
|
none: false
|
|
51
66
|
requirements:
|
|
52
67
|
- - ! '>='
|
|
@@ -54,10 +69,15 @@ dependencies:
|
|
|
54
69
|
version: '0'
|
|
55
70
|
type: :development
|
|
56
71
|
prerelease: false
|
|
57
|
-
version_requirements:
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '0'
|
|
58
78
|
- !ruby/object:Gem::Dependency
|
|
59
79
|
name: rspec
|
|
60
|
-
requirement:
|
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
|
61
81
|
none: false
|
|
62
82
|
requirements:
|
|
63
83
|
- - ! '>='
|
|
@@ -65,10 +85,15 @@ dependencies:
|
|
|
65
85
|
version: '0'
|
|
66
86
|
type: :development
|
|
67
87
|
prerelease: false
|
|
68
|
-
version_requirements:
|
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
90
|
+
requirements:
|
|
91
|
+
- - ! '>='
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: '0'
|
|
69
94
|
- !ruby/object:Gem::Dependency
|
|
70
95
|
name: rspec-rails
|
|
71
|
-
requirement:
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
97
|
none: false
|
|
73
98
|
requirements:
|
|
74
99
|
- - ! '>='
|
|
@@ -76,7 +101,12 @@ dependencies:
|
|
|
76
101
|
version: '0'
|
|
77
102
|
type: :development
|
|
78
103
|
prerelease: false
|
|
79
|
-
version_requirements:
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ! '>='
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
80
110
|
description: Searching form and sorting query builder
|
|
81
111
|
email:
|
|
82
112
|
- mail@mashiro.org
|
|
@@ -101,7 +131,6 @@ files:
|
|
|
101
131
|
- lib/kashiwamochi/search.rb
|
|
102
132
|
- lib/kashiwamochi/sort.rb
|
|
103
133
|
- lib/kashiwamochi/version.rb
|
|
104
|
-
- log/development.log
|
|
105
134
|
- spec/fake_app.rb
|
|
106
135
|
- spec/helpers/action_view_spec.rb
|
|
107
136
|
- spec/kashiwamochi/action_controller_spec.rb
|
|
@@ -121,15 +150,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
121
150
|
- - ! '>='
|
|
122
151
|
- !ruby/object:Gem::Version
|
|
123
152
|
version: '0'
|
|
153
|
+
segments:
|
|
154
|
+
- 0
|
|
155
|
+
hash: 743234285744904988
|
|
124
156
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
157
|
none: false
|
|
126
158
|
requirements:
|
|
127
159
|
- - ! '>='
|
|
128
160
|
- !ruby/object:Gem::Version
|
|
129
161
|
version: '0'
|
|
162
|
+
segments:
|
|
163
|
+
- 0
|
|
164
|
+
hash: 743234285744904988
|
|
130
165
|
requirements: []
|
|
131
166
|
rubyforge_project: kashiwamochi
|
|
132
|
-
rubygems_version: 1.8.
|
|
167
|
+
rubygems_version: 1.8.21
|
|
133
168
|
signing_key:
|
|
134
169
|
specification_version: 3
|
|
135
170
|
summary: Minimal searchng extension for Rails 3
|
data/log/development.log
DELETED
|
File without changes
|