Module: ActiveScaffold
- Defined in:
- lib/active_scaffold.rb,
lib/active_scaffold_env.rb,
lib/active_scaffold/engine.rb,
lib/active_scaffold/finder.rb,
lib/active_scaffold/bridges.rb,
lib/active_scaffold/version.rb,
lib/active_scaffold/constraints.rb,
lib/active_scaffold/configurable.rb,
lib/active_scaffold/marked_model.rb,
lib/active_scaffold/attribute_params.rb,
lib/active_scaffold/helpers/id_helpers.rb,
lib/active_scaffold/helpers/view_helpers.rb,
lib/active_scaffold/bridges/dragonfly/form_ui.rb,
lib/active_scaffold/bridges/dragonfly/list_ui.rb,
lib/active_scaffold/bridges/paperclip/form_ui.rb,
lib/active_scaffold/bridges/paperclip/list_ui.rb,
lib/active_scaffold/bridges/shared/date_bridge.rb,
lib/active_scaffold/helpers/controller_helpers.rb,
lib/active_scaffold/helpers/pagination_helpers.rb,
lib/active_scaffold/bridges/carrierwave/form_ui.rb,
lib/active_scaffold/bridges/carrierwave/list_ui.rb,
lib/active_scaffold/bridges/file_column/form_ui.rb,
lib/active_scaffold/bridges/file_column/list_ui.rb,
lib/active_scaffold/extensions/left_outer_joins.rb,
lib/active_scaffold/helpers/association_helpers.rb,
lib/active_scaffold/helpers/form_column_helpers.rb,
lib/active_scaffold/helpers/list_column_helpers.rb,
lib/active_scaffold/helpers/show_column_helpers.rb,
lib/active_scaffold/helpers/search_column_helpers.rb,
lib/active_scaffold/helpers/human_condition_helpers.rb,
lib/active_scaffold/bridges/bitfields/bitfields_bridge.rb,
lib/active_scaffold/bridges/dragonfly/dragonfly_bridge.rb,
lib/active_scaffold/bridges/paperclip/paperclip_bridge.rb,
lib/active_scaffold/bridges/carrierwave/carrierwave_bridge.rb,
lib/active_scaffold/bridges/file_column/file_column_helpers.rb,
lib/active_scaffold/bridges/calendar_date_select/as_cds_bridge.rb,
lib/active_scaffold/bridges/dragonfly/dragonfly_bridge_helpers.rb,
lib/active_scaffold/bridges/paperclip/paperclip_bridge_helpers.rb,
lib/active_scaffold/bridges/carrierwave/carrierwave_bridge_helpers.rb
Defined Under Namespace
Modules: Actions, AttributeParams, Bridges, ClassMethods, Config, Configurable, Constraints, DataStructures, Finder, Helpers, MarkedModel, OuterJoins, Version
Classes: ActionNotAllowed, ControllerNotFound, DependencyFailure, Engine, MalformedConstraint, RecordNotAllowed, ReverseAssociationRequired, Tableless
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.autoload_subdir(dir, mod = self, root = File.dirname(__FILE__)) ⇒ Object
31
32
33
34
35
36
37
38
|
# File 'lib/active_scaffold.rb', line 31
def self.autoload_subdir(dir, mod=self, root = File.dirname(__FILE__))
Dir["#{root}/active_scaffold/#{dir}/*.rb"].each { |file|
basename = File.basename(file, ".rb")
mod.module_eval {
autoload basename.camelcase.to_sym, "active_scaffold/#{dir}/#{basename}"
}
}
end
|
.exclude_bridges ⇒ Object
164
165
166
|
# File 'lib/active_scaffold.rb', line 164
def self.exclude_bridges
@@exclude_bridges ||= []
end
|
.exclude_bridges=(bridges) ⇒ Object
exclude bridges you do not need name of bridge subdir should be used to exclude it eg
ActiveScaffold.exclude_bridges = [:cancan, :ancestry]
if you are using Activescaffold as a gem add to initializer
if you are using Activescaffold as a plugin add to active_scaffold_env.rb
160
161
162
|
# File 'lib/active_scaffold.rb', line 160
def self.exclude_bridges=(bridges)
@@exclude_bridges = bridges
end
|
.included(base) ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/active_scaffold.rb', line 63
def self.included(base)
base.extend(ClassMethods)
base.module_eval do
before_filter :handle_user_settings
before_filter :check_input_device
end
base.helper_method :touch_device?
base.helper_method :hover_via_click?
base.helper_method :active_scaffold_constraints
end
|
.js_config ⇒ Object
150
151
152
|
# File 'lib/active_scaffold.rb', line 150
def self.js_config
@@js_config ||= {:scroll_on_close => :checkInViewport}
end
|
.js_config=(config) ⇒ Object
146
147
148
|
# File 'lib/active_scaffold.rb', line 146
def self.js_config=(config)
@@js_config = config
end
|
.js_framework ⇒ Object
138
139
140
141
142
143
144
|
# File 'lib/active_scaffold.rb', line 138
def self.js_framework
@@js_framework ||= if defined? Jquery
:jquery
elsif defined? PrototypeRails
:prototype
end
end
|
.js_framework=(framework) ⇒ Object
134
135
136
|
# File 'lib/active_scaffold.rb', line 134
def self.js_framework=(framework)
@@js_framework = framework
end
|
168
169
170
|
# File 'lib/active_scaffold.rb', line 168
def self.root
File.dirname(__FILE__) + "/.."
end
|
.set_defaults(&block) ⇒ Object
Instance Method Details
#active_scaffold_config ⇒ Object
80
81
82
|
# File 'lib/active_scaffold.rb', line 80
def active_scaffold_config
self.class.active_scaffold_config
end
|
#active_scaffold_config_for(klass) ⇒ Object
84
85
86
|
# File 'lib/active_scaffold.rb', line 84
def active_scaffold_config_for(klass)
self.class.active_scaffold_config_for(klass)
end
|
#active_scaffold_session_storage(id = nil) ⇒ Object
93
94
95
96
97
|
# File 'lib/active_scaffold.rb', line 93
def active_scaffold_session_storage(id = nil)
session_index = active_scaffold_session_storage_key(id)
session[session_index] ||= {}
session[session_index]
end
|
#active_scaffold_session_storage_key(id = nil) ⇒ Object
88
89
90
91
|
# File 'lib/active_scaffold.rb', line 88
def active_scaffold_session_storage_key(id = nil)
id ||= params[:eid] || "#{params[:controller]}#{"_#{nested.parent_id}" if nested?}"
"as:#{id}"
end
|
116
117
118
119
120
121
122
123
124
|
# File 'lib/active_scaffold.rb', line 116
def check_input_device
if request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"][/(iPhone|iPod|iPad)/i]
session[:input_device_type] = 'TOUCH'
session[:hover_supported] = false
else
session[:input_device_type] = 'MOUSE'
session[:hover_supported] = true
end if session[:input_device_type].nil?
end
|
#clear_storage ⇒ Object
99
100
101
102
|
# File 'lib/active_scaffold.rb', line 99
def clear_storage
session_index = active_scaffold_session_storage_key
session.delete(session_index) unless session[session_index].present?
end
|
#handle_user_settings ⇒ Object
at some point we need to pass the session and params into config. we’ll just take care of that before any particular action occurs by passing those hashes off to the UserSettings class of each action.
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/active_scaffold.rb', line 105
def handle_user_settings
if self.class.uses_active_scaffold?
active_scaffold_config.actions.each do |action_name|
conf_instance = active_scaffold_config.send(action_name) rescue next
next if conf_instance.class::UserSettings == ActiveScaffold::Config::Base::UserSettings storage = active_scaffold_config.store_user_settings ? active_scaffold_session_storage : {}
conf_instance.user = conf_instance.class::UserSettings.new(conf_instance, storage, params)
end
end
end
|
#hover_via_click? ⇒ Boolean
130
131
132
|
# File 'lib/active_scaffold.rb', line 130
def hover_via_click?
session[:hover_supported] == false
end
|
#touch_device? ⇒ Boolean
126
127
128
|
# File 'lib/active_scaffold.rb', line 126
def touch_device?
session[:input_device_type] == 'TOUCH'
end
|