class SmartSettings::SettingGenerator
Public Instance Methods
create_migration_file()
click to toggle source
# File lib/generators/smart_settings/setting_generator.rb, line 11 def create_migration_file template 'setting.rb', "app/settings/#{setting_file}.rb" end
Private Instance Methods
setting_class()
click to toggle source
# File lib/generators/smart_settings/setting_generator.rb, line 17 def setting_class name.camelize end
setting_fields()
click to toggle source
# File lib/generators/smart_settings/setting_generator.rb, line 25 def setting_fields args.map do |arg| field, cast_type, default, group = arg.split(':') items = [":#{field.to_sym}", ":#{cast_type.to_sym}"] items << ["default: #{value_type_cast(cast_type.to_sym, default)}"] if default.present? items << ["group: :#{group.to_sym}"] if group.present? items.join(', ') end end
setting_file()
click to toggle source
# File lib/generators/smart_settings/setting_generator.rb, line 21 def setting_file "#{name.downcase.underscore}_settings" end
value_type_cast(cast_type, value)
click to toggle source
# File lib/generators/smart_settings/setting_generator.rb, line 37 def value_type_cast(cast_type, value) strings = [:string, :date, :datetime, :time] cast_type.in?(strings) ? "'#{value}'" : value end