irie 1.0.0
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 +7 -0
- data/README.md +657 -0
- data/Rakefile +21 -0
- data/lib/irie.rb +23 -0
- data/lib/irie/class_methods.rb +61 -0
- data/lib/irie/config.rb +131 -0
- data/lib/irie/configuration_error.rb +4 -0
- data/lib/irie/extensions/autorender_count.rb +17 -0
- data/lib/irie/extensions/conversion/nil_params.rb +27 -0
- data/lib/irie/extensions/count.rb +21 -0
- data/lib/irie/extensions/index_query.rb +48 -0
- data/lib/irie/extensions/limit.rb +25 -0
- data/lib/irie/extensions/offset.rb +25 -0
- data/lib/irie/extensions/order.rb +153 -0
- data/lib/irie/extensions/paging.rb +43 -0
- data/lib/irie/extensions/paging/autorender_page_count.rb +19 -0
- data/lib/irie/extensions/param_filters.rb +137 -0
- data/lib/irie/extensions/params_to_joins.rb +108 -0
- data/lib/irie/extensions/query_filter.rb +58 -0
- data/lib/irie/extensions/query_includes.rb +107 -0
- data/lib/irie/extensions/smart_layout.rb +20 -0
- data/lib/irie/param_aliases.rb +36 -0
- data/lib/irie/version.rb +3 -0
- metadata +124 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
module Irie
|
2
|
+
module Extensions
|
3
|
+
# Specify layout: false unless request.format.html?
|
4
|
+
module SmartLayout
|
5
|
+
extend ::ActiveSupport::Concern
|
6
|
+
::Irie.available_extensions[:smart_layout] = '::' + SmartLayout.name
|
7
|
+
|
8
|
+
included do
|
9
|
+
include ::Irie::ParamAliases
|
10
|
+
end
|
11
|
+
|
12
|
+
def index(options={}, &block)
|
13
|
+
logger.debug("Irie::Extensions::NoLayout.index") if ::Irie.debug?
|
14
|
+
options.merge!({layout: false}) unless request.format.html?
|
15
|
+
super(options, &block)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Irie
|
2
|
+
module ParamAliases
|
3
|
+
extend ::ActiveSupport::Concern
|
4
|
+
|
5
|
+
protected
|
6
|
+
|
7
|
+
# Looks at ::Irie.function_param_names to get the proper request params
|
8
|
+
# to check for for the provided param name in params, then returns an array of all
|
9
|
+
# values for all matching defined request params. Does *not* convert param
|
10
|
+
# value with convert_param(...).
|
11
|
+
def aliased_params(function_sym)
|
12
|
+
logger.debug("Irie::ParamAliases.aliased_params(#{function_sym.inspect})") if ::Irie.debug?
|
13
|
+
if self.function_param_names.key?(function_sym)
|
14
|
+
self.function_param_names[function_sym].select {|v| params.key?(v)}.collect {|param_name| params[param_name]}
|
15
|
+
else
|
16
|
+
params.key?(function_sym) ? Array.wrap(params[function_sym]) : []
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def aliased_param_present?(function_sym)
|
21
|
+
logger.debug("Irie::ParamAliases.aliased_param_key?(#{function_sym.inspect})") if ::Irie.debug?
|
22
|
+
if self.function_param_names.key?(function_sym)
|
23
|
+
self.function_param_names[function_sym].select {|v| params.key?(v)}.any? {|param_name| params.key?(param_name)}
|
24
|
+
else
|
25
|
+
params.key?(function_sym)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# Same as aliased_params(function_sym).first.
|
30
|
+
def aliased_param(function_sym)
|
31
|
+
logger.debug("Irie::ParamAliases.aliased_param(#{function_sym.inspect})") if ::Irie.debug?
|
32
|
+
aliased_params(function_sym).first
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
data/lib/irie/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: irie
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Gary S. Weaver
|
8
|
+
- Tommy Odom
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-12-11 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: inherited_resources
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.4'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.4'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: actionpack
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '4.0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '4.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: activerecord
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '4.0'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '4.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: activesupport
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '4.0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '4.0'
|
70
|
+
description: Extensions for Inherited Resources for request parameter-based filters,
|
71
|
+
paging, ordering, includes, etc.
|
72
|
+
email:
|
73
|
+
- garysweaver@gmail.com
|
74
|
+
executables: []
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- lib/irie/class_methods.rb
|
79
|
+
- lib/irie/config.rb
|
80
|
+
- lib/irie/configuration_error.rb
|
81
|
+
- lib/irie/extensions/autorender_count.rb
|
82
|
+
- lib/irie/extensions/conversion/nil_params.rb
|
83
|
+
- lib/irie/extensions/count.rb
|
84
|
+
- lib/irie/extensions/index_query.rb
|
85
|
+
- lib/irie/extensions/limit.rb
|
86
|
+
- lib/irie/extensions/offset.rb
|
87
|
+
- lib/irie/extensions/order.rb
|
88
|
+
- lib/irie/extensions/paging/autorender_page_count.rb
|
89
|
+
- lib/irie/extensions/paging.rb
|
90
|
+
- lib/irie/extensions/param_filters.rb
|
91
|
+
- lib/irie/extensions/params_to_joins.rb
|
92
|
+
- lib/irie/extensions/query_filter.rb
|
93
|
+
- lib/irie/extensions/query_includes.rb
|
94
|
+
- lib/irie/extensions/smart_layout.rb
|
95
|
+
- lib/irie/param_aliases.rb
|
96
|
+
- lib/irie/version.rb
|
97
|
+
- lib/irie.rb
|
98
|
+
- Rakefile
|
99
|
+
- README.md
|
100
|
+
homepage: https://github.com/FineLinePrototyping/irie
|
101
|
+
licenses:
|
102
|
+
- MIT
|
103
|
+
metadata: {}
|
104
|
+
post_install_message:
|
105
|
+
rdoc_options: []
|
106
|
+
require_paths:
|
107
|
+
- lib
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
requirements: []
|
119
|
+
rubyforge_project:
|
120
|
+
rubygems_version: 2.1.11
|
121
|
+
signing_key:
|
122
|
+
specification_version: 4
|
123
|
+
summary: Extend Inherited Resources.
|
124
|
+
test_files: []
|