admin_it 1.0.10 → 1.0.11

Sign up to get free protection for your applications and to get access to all the features.
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