kashiwamochi 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,4 +1,19 @@
1
1
  *.gem
2
+ *.rbc
2
3
  .bundle
4
+ .config
5
+ .yardoc
3
6
  Gemfile.lock
4
- pkg/*
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ vendor
19
+ log
data/.travis.yml CHANGED
@@ -1,4 +1,6 @@
1
+ language: ruby
1
2
  rvm:
2
3
  - 1.9.2
3
4
  - 1.9.3
4
-
5
+ notifications:
6
+ irc: "irc.freenode.org#mashiro-dev"
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
- module Kashiwamochi
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
@@ -1,19 +1,15 @@
1
- require 'kashiwamochi/configuration'
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
@@ -1,5 +1,5 @@
1
- require 'kashiwamochi/action_controller'
2
1
  require 'kashiwamochi/action_view'
2
+ require 'kashiwamochi/action_controller'
3
3
 
4
4
  module Kashiwamochi
5
5
  class Railtie < Rails::Railtie
@@ -1,5 +1,4 @@
1
1
  module Kashiwamochi
2
-
3
2
  class Search
4
3
  attr_reader :key, :value
5
4
 
@@ -12,5 +11,4 @@ module Kashiwamochi
12
11
  "#<Search #{key}: #{value}>"
13
12
  end
14
13
  end
15
-
16
14
  end
@@ -1,7 +1,4 @@
1
- require 'active_support/core_ext'
2
-
3
1
  module Kashiwamochi
4
-
5
2
  class Sort
6
3
  DIRS = {:asc => 'asc', :desc => 'desc'}.freeze
7
4
 
@@ -68,5 +65,4 @@ module Kashiwamochi
68
65
  new(key, dir)
69
66
  end
70
67
  end
71
-
72
68
  end
@@ -1,3 +1,3 @@
1
1
  module Kashiwamochi
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
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.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-01-10 00:00:00.000000000Z
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: &16548820 !ruby/object:Gem::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: *16548820
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: &16548300 !ruby/object:Gem::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: *16548300
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: &16547920 !ruby/object:Gem::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: *16547920
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: &16547460 !ruby/object:Gem::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: *16547460
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: &16547040 !ruby/object:Gem::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: *16547040
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: &16546620 !ruby/object:Gem::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: *16546620
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.10
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