mix-rails 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/MIX_RAILS_VERSION +1 -1
  2. data/README.md +4 -13
  3. data/admix/app/controllers/admix/inherited_controller.rb +13 -1
  4. data/admix/lib/admix/version.rb +1 -1
  5. data/admix/spec/spec_helper.rb +3 -7
  6. data/lib/mix-rails.rb +1 -0
  7. data/mix-rails-albums/Gemfile +0 -8
  8. data/mix-rails-albums/app/assets/javascripts/backbone/models/photo.js.coffee +0 -1
  9. data/mix-rails-albums/app/assets/javascripts/backbone/templates/photos/photo_modal_edit.hamlc.erb +2 -2
  10. data/mix-rails-albums/app/assets/javascripts/models/fileitem.js +0 -1
  11. data/mix-rails-albums/app/models/admix/albums_datagrid.rb +1 -1
  12. data/mix-rails-albums/app/models/admix/photos_datagrid.rb +1 -1
  13. data/mix-rails-albums/app/models/album.rb +3 -3
  14. data/mix-rails-albums/app/models/concerns/album.rb +36 -0
  15. data/mix-rails-albums/app/models/photo.rb +7 -8
  16. data/mix-rails-albums/app/uploaders/albums/image_uploader.rb +4 -3
  17. data/mix-rails-albums/db/migrate/20130208020540_create_albums.rb +17 -0
  18. data/mix-rails-albums/db/migrate/20130208021030_create_photos.rb +15 -0
  19. data/mix-rails-albums/lib/mix-rails-albums.rb +1 -7
  20. data/mix-rails-albums/lib/mix-rails-albums/engine.rb +5 -0
  21. data/mix-rails-albums/lib/mix-rails-albums/version.rb +1 -1
  22. data/mix-rails-albums/mix-rails-albums.gemspec +0 -3
  23. data/mix-rails-albums/spec/models/album_spec.rb +5 -0
  24. data/mix-rails-albums/spec/models/picture_spec.rb +5 -0
  25. data/mix-rails-auth/Gemfile +0 -1
  26. data/mix-rails-auth/app/models/admix/roles_datagrid.rb +1 -1
  27. data/mix-rails-auth/app/models/admix/users_datagrid.rb +1 -1
  28. data/mix-rails-auth/app/models/role.rb +2 -15
  29. data/mix-rails-auth/app/models/user.rb +6 -46
  30. data/mix-rails-auth/config/initializers/devise.rb +2 -2
  31. data/mix-rails-auth/config/initializers/rolify.rb +1 -1
  32. data/mix-rails-auth/config/routes.rb +1 -1
  33. data/mix-rails-auth/db/migrate/20130206200605_devise_create_users.rb +46 -0
  34. data/mix-rails-auth/db/migrate/20130206200717_rolify_create_roles.rb +19 -0
  35. data/mix-rails-auth/lib/mix-rails-auth/engine.rb +6 -0
  36. data/mix-rails-auth/lib/mix-rails-auth/version.rb +1 -1
  37. data/mix-rails-auth/spec/models/user_spec.rb +5 -0
  38. data/mix-rails-core/Gemfile +1 -7
  39. data/mix-rails-core/app/models/admix/categories_datagrid.rb +1 -2
  40. data/mix-rails-core/app/models/attachment.rb +4 -3
  41. data/mix-rails-core/app/models/categorization.rb +5 -0
  42. data/mix-rails-core/app/models/category.rb +3 -2
  43. data/mix-rails-core/app/models/concerns/attachment.rb +0 -3
  44. data/mix-rails-core/app/uploaders/core/file_uploader.rb +1 -3
  45. data/mix-rails-core/config/initializers/carrierwave.rb +1 -5
  46. data/mix-rails-core/config/initializers/defaults_rails.rb +1 -0
  47. data/mix-rails-core/config/locales/core.pt-BR.yml +2 -1
  48. data/mix-rails-core/config/routes.rb +0 -2
  49. data/mix-rails-core/db/migrate/20130206195145_create_attachments.rb +10 -0
  50. data/mix-rails-core/db/migrate/20130206195329_create_categories.rb +8 -0
  51. data/mix-rails-core/db/migrate/20130207132351_create_categorizations.rb +9 -0
  52. data/mix-rails-core/lib/mix-rails-core.rb +3 -22
  53. data/mix-rails-core/lib/mix-rails-core/engine.rb +2 -4
  54. data/mix-rails-core/lib/mix-rails-core/version.rb +1 -1
  55. data/mix-rails-core/mix-rails-core.gemspec +1 -6
  56. data/mix-rails-core/spec/models/attachment_spec.rb +5 -0
  57. data/mix-rails-core/spec/models/categorization_spec.rb +5 -0
  58. data/mix-rails-core/spec/models/category_spec.rb +5 -0
  59. data/mix-rails-core/spec/spec_helper.rb +3 -3
  60. data/mix-rails-message-board/app/controllers/admix/board_messages_controller.rb +2 -2
  61. data/mix-rails-message-board/app/controllers/board_messages_controller.rb +1 -1
  62. data/mix-rails-message-board/app/models/admix/board_messages_datagrid.rb +3 -3
  63. data/mix-rails-message-board/app/models/admix/board_replies_datagrid.rb +3 -3
  64. data/mix-rails-message-board/app/models/board_message.rb +12 -21
  65. data/mix-rails-message-board/app/models/board_reply.rb +19 -20
  66. data/mix-rails-message-board/app/views/admix/board_messages/_form_fields.html.haml +1 -1
  67. data/mix-rails-message-board/app/views/admix/board_messages/_show.html.haml +4 -4
  68. data/mix-rails-message-board/app/views/admix/board_messages/_table_actions.html.haml +2 -2
  69. data/mix-rails-message-board/app/views/admix/board_replies/_form_fields.html.haml +1 -1
  70. data/mix-rails-message-board/app/views/admix/board_replies/_show.html.haml +2 -2
  71. data/mix-rails-message-board/app/views/admix/board_replies/_table_actions.html.haml +2 -2
  72. data/mix-rails-message-board/app/views/board_messages/_board_message.html.haml +1 -1
  73. data/mix-rails-message-board/config/locales/message-board.pt-BR.yml +6 -1
  74. data/mix-rails-message-board/db/migrate/20130208130406_create_board_messages.rb +13 -0
  75. data/mix-rails-message-board/db/migrate/20130208130716_create_board_replies.rb +14 -0
  76. data/mix-rails-message-board/lib/mix-rails-message-board/version.rb +1 -1
  77. data/mix-rails-settings/Gemfile +1 -0
  78. data/mix-rails-settings/app/models/admix/settings_datagrid.rb +1 -1
  79. data/mix-rails-settings/app/models/setting.rb +11 -18
  80. data/mix-rails-settings/app/uploaders/settings/image_uploader.rb +2 -3
  81. data/mix-rails-settings/db/migrate/20130206201915_create_settings.rb +13 -0
  82. data/mix-rails-settings/db/migrate/20130206212203_add_image_to_setting.rb +5 -0
  83. data/mix-rails-settings/lib/mix-rails-settings/engine.rb +5 -0
  84. data/mix-rails-settings/lib/mix-rails-settings/version.rb +1 -1
  85. data/mix-rails-settings/spec/models/setting_spec.rb +5 -0
  86. data/mix-rails-songs/app/models/admix/songs_datagrid.rb +1 -1
  87. data/mix-rails-songs/app/models/song.rb +9 -9
  88. data/mix-rails-songs/app/uploaders/songs/song_uploader.rb +2 -2
  89. data/mix-rails-songs/db/migrate/20130208034029_create_songs.rb +14 -0
  90. data/mix-rails-songs/lib/mix-rails-songs/engine.rb +5 -0
  91. data/mix-rails-songs/lib/mix-rails-songs/version.rb +1 -1
  92. data/mix-rails-videos/app/models/video.rb +8 -21
  93. data/mix-rails-videos/db/migrate/20130208040346_create_videos.rb +21 -0
  94. data/mix-rails-videos/lib/mix-rails-videos/version.rb +1 -1
  95. data/mix-rails-vouchers/Gemfile +0 -2
  96. data/mix-rails-vouchers/app/models/admix/vouchers_datagrid.rb +1 -1
  97. data/mix-rails-vouchers/app/models/voucher.rb +10 -14
  98. data/mix-rails-vouchers/app/models/voucher_user.rb +41 -46
  99. data/mix-rails-vouchers/app/uploaders/vouchers/photo_uploader.rb +2 -2
  100. data/mix-rails-vouchers/db/migrate/20130208143458_create_vouchers.rb +15 -0
  101. data/mix-rails-vouchers/db/migrate/20130208143613_create_voucher_users.rb +13 -0
  102. data/mix-rails-vouchers/lib/mix-rails-vouchers.rb +0 -1
  103. data/mix-rails-vouchers/lib/mix-rails-vouchers/version.rb +1 -1
  104. data/mix-rails-vouchers/mix-rails-vouchers.gemspec +0 -1
  105. data/mix-rails-wireframe/lib/mix-rails-wireframe/version.rb +1 -1
  106. data/mix-rails-writer/app/controllers/news_controller.rb +2 -2
  107. data/mix-rails-writer/app/models/admix/news_datagrid.rb +3 -7
  108. data/mix-rails-writer/app/models/news.rb +0 -1
  109. data/mix-rails-writer/app/models/post.rb +10 -19
  110. data/mix-rails-writer/app/uploaders/writer/image_uploader.rb +2 -2
  111. data/mix-rails-writer/app/views/admix/posts/_form_fields.html.haml +2 -2
  112. data/mix-rails-writer/app/views/admix/posts/_show.html.haml +2 -2
  113. data/mix-rails-writer/db/migrate/20130208042530_create_posts.rb +16 -0
  114. data/mix-rails-writer/lib/mix-rails-writer/engine.rb +5 -0
  115. data/mix-rails-writer/lib/mix-rails-writer/version.rb +1 -1
  116. data/mix-rails.gemspec +12 -11
  117. data/version.rb +1 -1
  118. metadata +92 -56
  119. data/mix-rails-albums/lib/concerns/models/album.rb +0 -43
  120. data/mix-rails-core/app/controllers/gridfs_controller.rb +0 -31
  121. data/mix-rails-core/config/initializers/mongoid.rb +0 -1
  122. data/mix-rails-core/lib/mix-rails-core/gridfs.rb +0 -32
  123. data/mix-rails-vouchers/test/functional/voucher_mailer_test.rb +0 -7
@@ -17,7 +17,7 @@ class BoardMessagesController < ApplicationController
17
17
  end
18
18
 
19
19
  def show
20
- @board_message = BoardMessage.find(params[:id])
20
+ @board_message = BoardMessage.includes(:board_replies).find(params[:id])
21
21
  end
22
22
 
23
23
  end
@@ -4,7 +4,7 @@ class Admix::BoardMessagesDatagrid
4
4
  extend AdmixHelper
5
5
 
6
6
  scope do
7
- BoardMessage.desc(:date)
7
+ BoardMessage.order('date DESC')
8
8
  end
9
9
 
10
10
  filter :date do |value|
@@ -22,8 +22,8 @@ class Admix::BoardMessagesDatagrid
22
22
  board_message.board_replies.count
23
23
  end
24
24
 
25
- column :approved, header: input_label(:board_message, :approved) do |board_message|
26
- board_message.approved.text
25
+ column :status, header: input_label(:board_message, :status) do |board_message|
26
+ board_message.status.text
27
27
  end
28
28
 
29
29
  include Admix::TableActions
@@ -6,7 +6,7 @@ class Admix::BoardRepliesDatagrid
6
6
 
7
7
 
8
8
  scope do
9
- BoardReply
9
+ BoardReply.order('date DESC')
10
10
  end
11
11
 
12
12
  filter :date do |value|
@@ -20,8 +20,8 @@ class Admix::BoardRepliesDatagrid
20
20
  board_reply.date.strftime("%d/%m/%Y")
21
21
  end
22
22
 
23
- column :approved, header: input_label(:board_reply, :approved) do |board_reply|
24
- board_reply.approved.text
23
+ column :status, header: input_label(:board_reply, :status) do |board_reply|
24
+ board_reply.status.text
25
25
  end
26
26
 
27
27
  include Admix::TableActions
@@ -1,29 +1,20 @@
1
- class BoardMessage
2
-
3
- include Mongoid::Document
4
- include Mongoid::Timestamps
5
- include Mongoid::Paranoia
6
-
1
+ class BoardMessage < ActiveRecord::Base
7
2
  extend Enumerize
8
3
 
9
- field :name, type: String
10
- field :email, type: String
11
- field :message, type: String
12
- field :date, type: DateTime, default: -> { Time.now }
13
- field :approved, type: String
14
- enumerize :approved, in: [:pending, :approved, :disapproved], default: :pending, predicates: true
15
-
16
-
17
- validates_presence_of :name
18
- validates_presence_of :email
19
- validates_presence_of :message
20
- validates_presence_of :date
4
+ attr_accessible :date, :email, :message, :name, :status
5
+ enumerize :status, in: [:pending, :approved, :disapproved], default: :pending, predicates: true
21
6
 
7
+ validates_presence_of :name, :email, :message, :date
22
8
  validates :email, email: true
23
9
 
24
- scope :approved, where(approved: :approved)
25
- scope :pending, where(approved: :pending)
10
+ scope :approved, where(status: :approved)
11
+ scope :pending, where(status: :pending)
12
+
13
+ has_many :board_replies
26
14
 
27
- embeds_many :board_replies, cascade_callbacks: true
28
15
 
16
+ default_value_for :date do
17
+ Time.now
18
+ end
19
+
29
20
  end
@@ -1,28 +1,27 @@
1
- class BoardReply
1
+ class BoardReply < ActiveRecord::Base
2
+ extend Enumerize
2
3
 
3
- include Mongoid::Document
4
- include Mongoid::Timestamps
5
- include Mongoid::Paranoia
4
+ attr_accessible :date, :email, :message, :name, :status
5
+ enumerize :status, in: [:pending, :approved, :disapproved], default: :pending, predicates: true
6
6
 
7
- extend Enumerize
7
+ validates_presence_of :name, :email, :message, :date
8
+ validates :email, email: true
8
9
 
9
- field :name, type: String, default: -> { Setting.app_title }
10
- field :email, type: String, default: -> { Setting.app_email }
11
- field :message, type: String
12
- field :date, type: DateTime, default: -> { Time.now }
13
- field :approved, type: String
14
- enumerize :approved, in: [:pending, :approved, :disapproved], default: :approved, predicates: true
15
-
10
+ scope :approved, where(status: :approved)
11
+ scope :pending, where(status: :pending)
16
12
 
17
- validates_presence_of :name
18
- validates_presence_of :email
19
- validates_presence_of :date
13
+ belongs_to :board_message
20
14
 
21
- validates :email, email: true
15
+ default_value_for :name do
16
+ Setting.app_title
17
+ end
22
18
 
23
- scope :approved, where(approved: :approved)
24
- scope :pending, where(approved: :pending)
19
+ default_value_for :email do
20
+ Setting.app_email
21
+ end
25
22
 
26
- embedded_in :board_message
23
+ default_value_for :date do
24
+ Time.now
25
+ end
27
26
 
28
- end
27
+ end
@@ -2,4 +2,4 @@
2
2
  = f.input :email, as: 'email'
3
3
  = f.input :message, as: 'text'
4
4
  = f.input :date, as: 'datepicker'
5
- = f.input :approved
5
+ = f.input :status
@@ -7,10 +7,10 @@
7
7
  %dd= resource.message
8
8
  %dt= input_label(:board_message, :date)
9
9
  %dd= localize(resource.date)
10
- %dt= input_label(:board_message, :approved)
10
+ %dt= input_label(:board_message, :status)
11
11
  %dd
12
- = resource.approved.text
13
- - if resource.disapproved? or resource.approved.pending?
12
+ = resource.status.text
13
+ - if resource.disapproved? or resource.status.pending?
14
14
  = link_to image_tag('admix/icons/shield_go.png'), approve_admix_board_message_path(resource), method: :put, data: { confirm: t('message_board.confirms.approve') }, class: 'btn', title:'Aprovar'
15
- - if resource.approved.approved? or resource.approved.pending?
15
+ - if resource.status.approved? or resource.status.pending?
16
16
  = link_to image_tag('admix/icons/shield_delete.png'), disapprove_admix_board_message_path(resource), method: :put,data: { confirm: t('message_board.confirms.disapprove') }, class: 'btn', title:'Reprovar'
@@ -1,6 +1,6 @@
1
- - if resource.disapproved? or resource.approved.pending?
1
+ - if resource.disapproved? or resource.status.pending?
2
2
  = link_to image_tag('admix/icons/shield_go.png'), approve_admix_board_message_path(resource), method: :put, data: { confirm: t('message_board.confirms.approve') }, class: 'btn', title:'Aprovar'
3
- - if resource.approved.approved? or resource.approved.pending?
3
+ - if resource.status.approved? or resource.status.pending?
4
4
  = link_to image_tag('admix/icons/shield_delete.png'), disapprove_admix_board_message_path(resource), method: :put,data: { confirm: t('message_board.confirms.disapprove') }, class: 'btn', title:'Reprovar'
5
5
 
6
6
  = link_to image_tag('admix/icons/comment_add.png'), new_admix_board_message_board_reply_path(resource), class: 'btn', title:'Adicionar comentário'
@@ -2,4 +2,4 @@
2
2
  = f.input :email, as: 'email'
3
3
  = f.input :message, as: 'text'
4
4
  = f.input :date, as: 'datepicker'
5
- = f.input :approved
5
+ = f.input :status
@@ -7,5 +7,5 @@
7
7
  %dd= resource.message
8
8
  %dt= input_label(:board_message, :date)
9
9
  %dd= localize(resource.date)
10
- %dt= input_label(:board_message, :approved)
11
- %dd= resource.approved.text
10
+ %dt= input_label(:board_message, :status)
11
+ %dd= resource.status.text
@@ -1,6 +1,6 @@
1
- - if resource.disapproved? or resource.approved.pending?
1
+ - if resource.disapproved? or resource.status.pending?
2
2
  = link_to image_tag('admix/icons/shield_go.png'), approve_admix_board_message_path(resource), method: :put, data: { confirm: t('message_board.confirms.approve') }, class: 'btn', title:'Aprovar'
3
- - if resource.approved.approved? or resource.approved.pending?
3
+ - if resource.status.approved? or resource.status.pending?
4
4
  = link_to image_tag('admix/icons/shield_delete.png'), disapprove_admix_board_message_path(resource), method: :put,data: { confirm: t('message_board.confirms.disapprove') }, class: 'btn', title:'Reprovar'
5
5
 
6
6
  = link_to image_tag('admix/zoom.png'), resource_url(resource), class: 'btn', title:'Visualizar registro'
@@ -5,7 +5,7 @@
5
5
  %small
6
6
  %span.white= I18n.localize(board_message.date)
7
7
  %p.muted.p.super= board_message.message
8
- - if board_message.board_replies?
8
+ - if board_message.board_replies
9
9
  - board_message.board_replies.each do |r|
10
10
  .pad.p
11
11
  %span.yellow= r.name
@@ -11,7 +11,12 @@ pt-BR:
11
11
  models:
12
12
  board_message: 'Mensagem'
13
13
  board_reply: 'Resposta'
14
-
14
+ board_messages:
15
+ board_messages: 'Mural de recados'
16
+ board_message: 'Recado'
17
+ board_replies:
18
+ board_replies: 'Respostas do mural'
19
+ board_message: 'Resposta'
15
20
  simple_form:
16
21
  labels:
17
22
  board_message:
@@ -0,0 +1,13 @@
1
+ class CreateBoardMessages < ActiveRecord::Migration
2
+ def change
3
+ create_table :board_messages do |t|
4
+ t.string :name
5
+ t.string :email
6
+ t.text :message
7
+ t.datetime :date
8
+ t.string :status
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ class CreateBoardReplies < ActiveRecord::Migration
2
+ def change
3
+ create_table :board_replies do |t|
4
+ t.string :name
5
+ t.string :email
6
+ t.text :message
7
+ t.datetime :date
8
+ t.string :status
9
+
10
+ t.references :board_message
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -1,7 +1,7 @@
1
1
  module MixRailsMessageBoard
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 22
4
+ MINOR = 23
5
5
  TINY = 0
6
6
  PRE = nil
7
7
 
@@ -9,6 +9,7 @@ gemspec
9
9
 
10
10
  gem "jquery-rails"
11
11
  gem "haml-rails"
12
+ gem "rspec-rails"
12
13
 
13
14
  # Declare any dependencies that are still in development here instead of in
14
15
  # your gemspec. These might include edge Rails or gems from your path or
@@ -3,7 +3,7 @@ class Admix::SettingsDatagrid
3
3
  include Datagrid
4
4
 
5
5
  scope do
6
- Setting.desc(:name)
6
+ Setting
7
7
  end
8
8
 
9
9
  filter :name, :string
@@ -1,19 +1,11 @@
1
- class Setting
2
- include Mongoid::Document
3
-
4
- field :name, type: String
5
- field :key, type: String
6
- field :value
7
- field :activated, type: Boolean
8
- field :system, type: Boolean, default: false
9
-
10
- validates_uniqueness_of :key
1
+ class Setting < ActiveRecord::Base
2
+ attr_accessible :activated, :key, :name, :system, :value, :image, :image_cache
11
3
 
12
4
  mount_uploader :image, Settings::ImageUploader
13
-
5
+
14
6
  def self.app_title
15
7
  begin
16
- Setting.find_by(key: 'app_title', activated: true).value
8
+ Setting.where(key: 'app_title', activated: true).first.value
17
9
  rescue
18
10
  false
19
11
  end
@@ -21,7 +13,7 @@ class Setting
21
13
 
22
14
  def self.app_email
23
15
  begin
24
- Setting.find_by(key: 'app_email', activated: true).value
16
+ Setting.where(key: 'app_email', activated: true).first.value
25
17
  rescue
26
18
  false
27
19
  end
@@ -29,7 +21,7 @@ class Setting
29
21
 
30
22
  def self.admix_logo
31
23
  begin
32
- Setting.find_by(key: 'admix_logo', activated: true)
24
+ Setting.where(key: 'admix_logo', activated: true).first
33
25
  rescue
34
26
  false
35
27
  end
@@ -37,7 +29,7 @@ class Setting
37
29
 
38
30
  def self.link_twitter
39
31
  begin
40
- Setting.find_by(key: 'link_twitter', activated: true).value
32
+ Setting.where(key: 'link_twitter', activated: true).first.value
41
33
  rescue
42
34
  false
43
35
  end
@@ -45,7 +37,7 @@ class Setting
45
37
 
46
38
  def self.link_facebook
47
39
  begin
48
- Setting.find_by(key: 'link_facebook', activated: true).value
40
+ Setting.where(key: 'link_facebook', activated: true).first.value
49
41
  rescue
50
42
  false
51
43
  end
@@ -53,7 +45,7 @@ class Setting
53
45
 
54
46
  def self.albums_watermark
55
47
  begin
56
- Setting.find_by(key: 'albums_watermark', activated: true)
48
+ Setting.where(key: 'albums_watermark', activated: true).first
57
49
  rescue
58
50
  false
59
51
  end
@@ -61,10 +53,11 @@ class Setting
61
53
 
62
54
  def self.albums_title
63
55
  begin
64
- Setting.find_by(key: 'albums_title', activated: true).value
56
+ Setting.where(key: 'albums_title', activated: true).first.value
65
57
  rescue
66
58
  false
67
59
  end
68
60
  end
69
61
 
62
+
70
63
  end
@@ -11,14 +11,13 @@ class Settings::ImageUploader < CarrierWave::Uploader::Base
11
11
  include Sprockets::Helpers::RailsHelper
12
12
  include Sprockets::Helpers::IsolatedHelper
13
13
 
14
- # Choose what kind of storage to use for this uploader:
15
- storage :grid_fs
14
+
16
15
  # storage :fog
17
16
 
18
17
  # Override the directory where uploaded files will be stored.
19
18
  # This is a sensible default for uploaders that are meant to be mounted:
20
19
  def store_dir
21
- "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
20
+ "system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
22
21
  end
23
22
 
24
23
  def cache_dir
@@ -0,0 +1,13 @@
1
+ class CreateSettings < ActiveRecord::Migration
2
+ def change
3
+ create_table :settings do |t|
4
+ t.string :name
5
+ t.string :key
6
+ t.string :value
7
+ t.boolean :activated
8
+ t.boolean :system
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ class AddImageToSetting < ActiveRecord::Migration
2
+ def change
3
+ add_column :settings, :image, :string
4
+ end
5
+ end
@@ -1,5 +1,10 @@
1
1
  module MixRailsSettings
2
2
  class Engine < ::Rails::Engine
3
+
4
+ config.generators do |g|
5
+ g.test_framework :rspec
6
+ g.integration_tool :rspec
7
+ end
3
8
 
4
9
  initializer "settings.default_settings" do |app|
5
10
 
@@ -1,7 +1,7 @@
1
1
  module MixRailsSettings
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 22
4
+ MINOR = 23
5
5
  TINY = 0
6
6
  PRE = nil
7
7
 
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe Setting do
4
+ pending "add some examples to (or delete) #{__FILE__}"
5
+ end
@@ -5,7 +5,7 @@ class Admix::SongsDatagrid
5
5
  extend AdmixHelper
6
6
 
7
7
  scope do
8
- Song.desc(:date)
8
+ Song.order('id DESC')
9
9
  end
10
10
 
11
11
  column :title, header: input_label(:song, :title)