admin_it 1.0.10 → 1.0.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b4af7fc6796fe6d148a1d91d62449d2cca40e44
4
- data.tar.gz: dcd1542a809878391c15ed5604e74d26b1d7572d
3
+ metadata.gz: 29a6d776198ded9d1cf8d3bf12731a86219e2d71
4
+ data.tar.gz: 675c20d9e4f38cca59e19e690f99ed6d565bfcad
5
5
  SHA512:
6
- metadata.gz: 70d197f764d7b3126e564d7aeaf53cc47ef999f06d00a79db152defaad223725accbc64b7000cc07e92d55e964e2c856e48237c0176df300214081fec304cb62
7
- data.tar.gz: b8886811264b9aaef4cbed1c6404eba4a93de24361785322cc86ed8ae7d65a9665136ff3d7cbc4359cf3b50ab872eed31dee8032c4f277d329582d239891240d
6
+ metadata.gz: 72e6c716d4821a967a2bd4639733aca51e8a12833771199fc901d305e0347af72a1ec4cdb5bb1904ae3543180cc9b127519e428e6692c7611db84625cfdaf6e8
7
+ data.tar.gz: e2d9330e064c19f681c2d1e48e6a1a4d39cc9e74a54cd14b75f8e56841c662860beb09bca479514e4e441ce5b7d1267b595a8f5c5a9257d1f214a5e8b6a6af7e
@@ -0,0 +1,19 @@
1
+ module AdminIt
2
+ class Action
3
+ extend ExtendIt::Base
4
+ include ExtendIt::Dsl
5
+ include Iconed
6
+ include DisplayableName
7
+
8
+ dsl do
9
+ dsl_accessor :layout
10
+ end
11
+
12
+ attr_reader :layout
13
+
14
+ def layout=(value)
15
+ value = value.ensure_symbol
16
+ @layout = value.nil? || LAYOUTS.include?(value) ? value : nil
17
+ end
18
+ end
19
+ end
@@ -0,0 +1 @@
1
+ require File.join %w(admin_it actions action)
@@ -8,6 +8,7 @@ module AdminIt
8
8
  extend ExtendIt::Base
9
9
  include ExtendIt::Callbacks
10
10
  include ExtendIt::Dsl
11
+ include Defaults
11
12
  include Iconed
12
13
  include FieldsHolder
13
14
  include FiltersHolder
@@ -45,6 +46,24 @@ module AdminIt
45
46
  end
46
47
  end
47
48
 
49
+ defaults do
50
+ fields { puts "FIELDS"; [] }
51
+
52
+ filters { puts "FILTERS"; [] }
53
+
54
+ display_name do
55
+ puts "DISPLAY"
56
+ plural.split('_').map { |s| s.capitalize }.join(' ')
57
+ end
58
+
59
+ contexts do
60
+ CONTEXTS.map do |c|
61
+ context_class = AdminIt.const_get("#{c.capitalize}Context")
62
+ context_class.create(c, self)
63
+ end
64
+ end
65
+ end
66
+
48
67
  attr_reader :name, :plural, :entity_class, :menu
49
68
 
50
69
  define_callbacks :initialize
@@ -174,7 +193,6 @@ module AdminIt
174
193
 
175
194
  protected
176
195
 
177
- # LAYOUTS = %w(content)
178
196
  COLLECTIONS = %i(table tiles list)
179
197
  SINGLE = %i(show new edit)
180
198
  CONTEXTS = COLLECTIONS + SINGLE
@@ -196,25 +214,6 @@ module AdminIt
196
214
  end
197
215
  end
198
216
 
199
- def default_fields
200
- []
201
- end
202
-
203
- def default_contexts
204
- CONTEXTS.map do |c|
205
- context_class = AdminIt.const_get("#{c.capitalize}Context")
206
- context_class.create(c, self)
207
- end
208
- end
209
-
210
- def default_filters
211
- []
212
- end
213
-
214
- def default_display_name
215
- plural.split('_').map { |s| s.capitalize }.join(' ')
216
- end
217
-
218
217
  def i18n_display_name
219
218
  begin
220
219
  I18n
@@ -61,4 +61,37 @@ module AdminIt
61
61
  ''
62
62
  end
63
63
  end
64
+
65
+ module Defaults
66
+ def self.included(base)
67
+ base.extend(ClassMethods)
68
+ end
69
+
70
+ def self.extended(base)
71
+ base.extend(ClassMethods)
72
+ end
73
+
74
+ class Definer
75
+ def method_missing(method_name, *args, &block)
76
+ unless /\Adefault_/ =~ method_name
77
+ method_name = "default_#{method_name}".to_sym
78
+ end
79
+ @caller_class.class_eval do
80
+ define_method(method_name, &block)
81
+ protected method_name
82
+ end
83
+ end
84
+
85
+ def initialize(caller_class)
86
+ @caller_class = caller_class
87
+ end
88
+ end
89
+
90
+ module ClassMethods
91
+ def defaults(&block)
92
+ return unless block_given?
93
+ Definer.new(self).instance_eval(&block)
94
+ end
95
+ end
96
+ end
64
97
  end
@@ -1,5 +1,5 @@
1
1
  #
2
2
  module AdminIt
3
3
  # Current gem version
4
- VERSION = '1.0.10'
4
+ VERSION = '1.0.11'
5
5
  end
data/lib/admin_it.rb CHANGED
@@ -3,6 +3,8 @@ require File.join %w(extend_it ensures)
3
3
 
4
4
  module AdminIt
5
5
  using ExtendIt::Ensures if ExtendIt.config.use_refines?
6
+
7
+ LAYOUTS = %i(dialog)
6
8
  end
7
9
 
8
10
  require File.join %w(admin_it env)
@@ -12,6 +14,7 @@ require File.join %w(admin_it config)
12
14
  require File.join %w(admin_it shared)
13
15
  require File.join %w(admin_it data)
14
16
  require File.join %w(admin_it field)
17
+ require File.join %w(admin_it actions)
15
18
  require File.join %w(admin_it filters)
16
19
  require File.join %w(admin_it resource)
17
20
  require File.join %w(admin_it context)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: admin_it
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Ovchinnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-19 00:00:00.000000000 Z
11
+ date: 2014-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -229,6 +229,8 @@ files:
229
229
  - config.ru
230
230
  - config/routes.rb
231
231
  - lib/admin_it.rb
232
+ - lib/admin_it/actions.rb
233
+ - lib/admin_it/actions/action.rb
232
234
  - lib/admin_it/config.rb
233
235
  - lib/admin_it/context.rb
234
236
  - lib/admin_it/context/collection_context.rb