Module: Hobo
- Defined in:
- lib/hobo.rb,
lib/hobo/model.rb,
lib/hobo/engine.rb,
lib/hobo/routes.rb,
lib/hobo/undefined.rb,
lib/hobo/controller.rb,
lib/hobo/model/guest.rb,
lib/hobo/model/scopes.rb,
lib/hobo/rapid/helper.rb,
lib/hobo/model/find_for.rb,
lib/hobo/model/user_base.rb,
lib/hobo/controller/cache.rb,
lib/hobo/controller/model.rb,
lib/hobo/model/lifecycles.rb,
lib/hobo/model/view_hints.rb,
lib/hobo/model/permissions.rb,
lib/hobo/controller/user_base.rb,
lib/hobo/model/include_in_save.rb,
lib/hobo/model/lifecycles/state.rb,
lib/hobo/model/lifecycles/actions.rb,
lib/hobo/model/lifecycles/creator.rb,
lib/hobo/model/scopes/apply_scopes.rb,
lib/hobo/model/lifecycles/lifecycle.rb,
lib/hobo/model/lifecycles/transition.rb,
lib/hobo/model/accessible_associations.rb,
lib/hobo/model/scopes/automatic_scopes.rb,
lib/generators/hobo/i18n/i18n_generator.rb,
lib/hobo/extensions/action_mailer/helper.rb,
lib/generators/hobo/model/model_generator.rb,
lib/hobo/controller/authentication_support.rb,
lib/generators/hobo/assets/assets_generator.rb,
lib/generators/hobo/routes/routes_generator.rb,
lib/generators/hobo/subsite/subsite_generator.rb,
lib/generators/hobo/resource/resource_generator.rb,
lib/generators/hobo/controller/controller_generator.rb,
lib/generators/hobo/user_model/user_model_generator.rb,
lib/generators/hobo/user_mailer/user_mailer_generator.rb,
lib/generators/hobo/setup_wizard/setup_wizard_generator.rb,
lib/generators/hobo/admin_subsite/admin_subsite_generator.rb,
lib/generators/hobo/user_resource/user_resource_generator.rb,
lib/generators/hobo/install_plugin/install_plugin_generator.rb,
lib/generators/hobo/subsite_taglib/subsite_taglib_generator.rb,
lib/generators/hobo/user_controller/user_controller_generator.rb,
lib/generators/hobo/front_controller/front_controller_generator.rb,
lib/generators/hobo/install_default_plugins/install_default_plugins_generator.rb
Defined Under Namespace
Modules: Controller, MailerHelper, Model, Rapid, Routes
Classes: AdminSubsiteGenerator, AssetsGenerator, Boolean, ControllerGenerator, Engine, Error, FrontControllerGenerator, I18nError, I18nGenerator, InstallDefaultPluginsGenerator, InstallPluginGenerator, ModelGenerator, PermissionDeniedError, RawJs, ResourceGenerator, RoutesGenerator, SetupWizardGenerator, SubsiteGenerator, SubsiteTaglibGenerator, Undefined, UndefinedAccessError, UserControllerGenerator, UserMailerGenerator, UserModelGenerator, UserResourceGenerator
Constant Summary
collapse
- VERSION =
File.read(File.expand_path('../../VERSION', __FILE__)).strip
- @@root =
Pathname.new File.expand_path('../..', __FILE__)
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.engines ⇒ Object
Returns the value of attribute engines.
32
33
34
|
# File 'lib/hobo.rb', line 32
def engines
@engines
end
|
.stable_cache ⇒ Object
Returns the value of attribute stable_cache.
32
33
34
|
# File 'lib/hobo.rb', line 32
def stable_cache
@stable_cache
end
|
Class Method Details
.find_by_search(query, search_targets = []) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/hobo.rb', line 38
def find_by_search(query, search_targets=[])
if search_targets.empty?
search_targets = Hobo::Model.all_models.select {|m| m.search_columns.any? }
end
query_words = ActiveRecord::Base.connection.quote_string(query).split
search_targets.build_hash do |search_target|
conditions = []
parameters = []
like_operator = ActiveRecord::Base.connection.adapter_name =~ /postg/i ? 'ILIKE' : 'LIKE'
query_words.each do |word|
column_queries = search_target.search_columns.map { |column| column == "id" ? "CAST(#{column} AS varchar) #{like_operator} ?" : "#{column} #{like_operator} ?" }
conditions << "(" + column_queries.join(" or ") + ")"
parameters.concat(["%#{word}%"] * column_queries.length)
end
conditions = conditions.join(" and ")
results = search_target.where(conditions, *parameters)
[search_target.name, results] unless results.empty?
end
end
|
.raw_js(s) ⇒ Object
34
35
36
|
# File 'lib/hobo.rb', line 34
def raw_js(s)
RawJs.new(s)
end
|
.root ⇒ Object
19
|
# File 'lib/hobo.rb', line 19
def self.root; @@root; end
|
.simple_has_many_association?(array_or_reflection) ⇒ Boolean
61
62
63
64
65
66
67
|
# File 'lib/hobo.rb', line 61
def simple_has_many_association?(array_or_reflection)
refl = array_or_reflection.respond_to?(:proxy_association) ? array_or_reflection.proxy_association.reflection : array_or_reflection
return false unless refl.is_a?(ActiveRecord::Reflection::AssociationReflection)
refl.macro == :has_many and
(not refl.through_reflection) and
(not refl.options[:conditions])
end
|
.subsites ⇒ Object
69
70
71
72
73
74
75
76
77
|
# File 'lib/hobo.rb', line 69
def subsites
app_dirs = ["#{Rails.root}/app"] + Hobo.engines.map { |e| "#{e}/app" }
@subsites ||= app_dirs.map do |app|
Dir["#{app}/controllers/*"].map do |f|
File.basename(f) if File.directory?(f)
end.compact
end.flatten
end
|