push_type_core 0.6.0.beta.2 → 0.6.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/app/fields/push_type/matrix_field.rb +3 -1
  3. data/app/fields/push_type/structure_field.rb +7 -1
  4. data/app/models/push_type/structure.rb +1 -4
  5. data/lib/generators/push_type/structure/USAGE +8 -0
  6. data/lib/generators/push_type/structure/structure_generator.rb +18 -0
  7. data/lib/generators/push_type/structure/templates/structure.rb +10 -0
  8. data/lib/push_type/core/engine.rb +1 -0
  9. data/lib/push_type/testing/common_rake.rb +2 -0
  10. data/lib/push_type/testing/setup.rb +1 -1
  11. data/lib/push_type/version.rb +1 -1
  12. data/test/dummy/app/models/location.rb +6 -0
  13. data/test/dummy/config/initializers/push_type.rb +1 -1
  14. data/test/dummy/config/secrets.yml +2 -2
  15. data/test/dummy/db/schema.rb +1 -1
  16. data/test/dummy/log/test.log +11730 -11550
  17. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0ANSDcZJu9gPyqtYPIW729qm1kriQ29Vn9LU8T2SGQU.cache +0 -0
  18. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_d65qW7wxRtKVSYpmfSenECz5QUWVI9pppUgV7TA1Rk.cache +0 -0
  19. data/test/dummy/tmp/generators/app/fields/rich_text_field.rb +15 -0
  20. data/test/fields/push_type/structure_field_test.rb +8 -0
  21. data/test/lib/generators/push_type/structure_generator_test.rb +18 -0
  22. data/test/models/concerns/push_type/presentable_test.rb +8 -2
  23. metadata +28 -24
  24. data/lib/generators/push_type/dummy/templates/page.rb +0 -6
  25. data/test/dummy/tmp/generators/app/models/category.rb +0 -7
  26. data/test/dummy/tmp/generators/app/views/taxonomies/category.html.erb +0 -3
  27. /data/test/dummy/db/migrate/{20151102165837_create_push_type_users.push_type.rb → 20151102202715_create_push_type_users.push_type.rb} +0 -0
  28. /data/test/dummy/db/migrate/{20151102165838_create_push_type_nodes.push_type.rb → 20151102202716_create_push_type_nodes.push_type.rb} +0 -0
  29. /data/test/dummy/db/migrate/{20151102165839_create_push_type_node_hierarchies.push_type.rb → 20151102202717_create_push_type_node_hierarchies.push_type.rb} +0 -0
  30. /data/test/dummy/db/migrate/{20151102165840_create_push_type_assets.push_type.rb → 20151102202718_create_push_type_assets.push_type.rb} +0 -0
  31. /data/test/dummy/db/migrate/{20151102165841_create_push_type_taxonomies.push_type.rb → 20151102202719_create_push_type_taxonomies.push_type.rb} +0 -0
  32. /data/test/dummy/db/migrate/{20151102165842_create_push_type_taxonomy_hierarchies.push_type.rb → 20151102202720_create_push_type_taxonomy_hierarchies.push_type.rb} +0 -0
  33. /data/test/dummy/db/migrate/{20151102165843_add_field_store_default_values.push_type.rb → 20151102202721_add_field_store_default_values.push_type.rb} +0 -0
  34. /data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/{idBOP3HLwMKqIi2fmJ86l7s0AJCQq-p3JBAe01H630c.cache → 6jsgv3ntDkti59be5oRYC_iAKKBc6jXnUhiRtR5B3mY.cache} +0 -0
  35. /data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/{aTa2i4fIuP1rB3Te3BmhxVW3c0wwyYQtTIQW710wrm0.cache → Am5-YNurKjuaBZepBbaF-WarxmMoFaQFl7aXtNOYO7w.cache} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 695f0cf51a3d8408ce92094dfe92610f6e079546
4
- data.tar.gz: 727b6d4d5c39f6c0b3196362a113823e0a416fa5
3
+ metadata.gz: 492da763c6d337fda6817a83d64cd7668c424b01
4
+ data.tar.gz: 56209c8f5ba1d6927979b940cd3cc96f6b1e3490
5
5
  SHA512:
6
- metadata.gz: 374753265c5c609f1602a81d7f0138e0c47a96ace93124ba45bfda9d7c02772b4a29bbf760c12e8158e39d36d1da5903330949a987f74ccd93e5c63b63f2a9ac
7
- data.tar.gz: 994a863f1bdb86cf7189ddb78f89dc10df1714fc66a4be0938b9bda6a6a088e88c15ee9613a84d2434af8824a4ec7e06fc18e133733808b006c868f27b3c24c2
6
+ metadata.gz: 3d1ad349bc2a207036935224cd0bb464cea27b2efc2eb13bb0d054fb5113bf818ce49edf205f8bfe9083ed9a90834a391a8af98fc58720b86828bb498ff5f911
7
+ data.tar.gz: 52f683eab84ebe8e5790a4a2c1e55c93a3befda8688bed83d4d02f50a23e279fb700afd59016d1d2b9353f23f9e2c841dd5ced388c02d9205f3915e1ce9cbf76
@@ -31,7 +31,9 @@ module PushType
31
31
  private
32
32
 
33
33
  def structure_class
34
- @structure_class ||= PushType::Structure.clone
34
+ @structure_class ||= Class.new PushType::Structure do
35
+ define_singleton_method(:name) { "PushType::Structure" }
36
+ end
35
37
  end
36
38
 
37
39
  end
@@ -21,7 +21,13 @@ module PushType
21
21
  private
22
22
 
23
23
  def structure_class
24
- @structure_class ||= PushType::Structure.clone
24
+ @structure_class ||= begin
25
+ (@opts[:class] || name).to_s.classify.constantize
26
+ rescue NameError
27
+ Class.new PushType::Structure do
28
+ define_singleton_method(:name) { "PushType::Structure" }
29
+ end
30
+ end
25
31
  end
26
32
 
27
33
  def structure
@@ -11,10 +11,7 @@ module PushType
11
11
  define_model_callbacks :initialize, only: :after
12
12
 
13
13
  include PushType::Customizable
14
-
15
- def self.name
16
- 'PushType::Structure'
17
- end
14
+ include PushType::Presentable
18
15
 
19
16
  def initialize(*args)
20
17
  run_callbacks :initialize do
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Generates a model that inherits from PushType::Structure
3
+
4
+ Example:
5
+ rails generate push_type:structure location street_address:string postcode:string
6
+
7
+ This will create:
8
+ app/models/location.rb
@@ -0,0 +1,18 @@
1
+ module PushType
2
+ class StructureGenerator < Rails::Generators::NamedBase
3
+ source_root File.expand_path('../templates', __FILE__)
4
+ argument :attributes, type: :array, default: [], banner: "field:type field:type"
5
+
6
+ def create_model
7
+ template 'structure.rb', "app/models/#{ file_name }.rb"
8
+ end
9
+
10
+ hook_for :test_framework, as: :model
11
+
12
+ protected
13
+
14
+ def attribute_as_field(att)
15
+ "field :#{ att.name }, :#{ att.type }"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,10 @@
1
+ class <%= class_name %> < PushType::Structure
2
+
3
+ # Model the content by adding custom fields to the structure.
4
+ <% if attributes.each do |att| -%>
5
+ <%= attribute_as_field(att) %>
6
+ <% end.empty? -%>
7
+ # field :body, :text, validates: { presence: true }
8
+ <% end -%>
9
+
10
+ end
@@ -8,6 +8,7 @@ module PushType
8
8
  g.assets false
9
9
  g.helper false
10
10
  g.test_framework :test_unit, fixture: false
11
+ g.hidden_namespaces << 'push_type:dummy' << 'push_type:field'
11
12
  end
12
13
 
13
14
  config.autoload_paths << config.root.join('app', 'fields')
@@ -2,6 +2,7 @@ require 'generators/push_type/dummy/dummy_generator'
2
2
  require 'generators/push_type/install/install_generator'
3
3
  require 'generators/push_type/node/node_generator'
4
4
  require 'generators/push_type/taxonomy/taxonomy_generator'
5
+ require 'generators/push_type/structure/structure_generator'
5
6
 
6
7
  namespace :common do
7
8
 
@@ -18,6 +19,7 @@ namespace :common do
18
19
  PushType::InstallGenerator.start ['--quiet']
19
20
  PushType::NodeGenerator.start ['page', '--quiet']
20
21
  PushType::TaxonomyGenerator.start ['category', '--quiet']
22
+ PushType::StructureGenerator.start ['location', '--quiet']
21
23
  end
22
24
  end
23
25
 
@@ -14,7 +14,7 @@ Dragonfly.app.use_datastore :memory
14
14
 
15
15
  class ActiveSupport::TestCase
16
16
  # Due to test weirdness / dodgy code need to reference some classes
17
- Page && Category
17
+ Page && Category && Location
18
18
 
19
19
  before :each do
20
20
  DatabaseCleaner.start
@@ -1,3 +1,3 @@
1
1
  module PushType
2
- VERSION = '0.6.0.beta.2'
2
+ VERSION = '0.6.0.beta.3'
3
3
  end
@@ -0,0 +1,6 @@
1
+ class Location < PushType::Structure
2
+
3
+ # Model the content by adding custom fields to the structure.
4
+ # field :body, :text, validates: { presence: true }
5
+
6
+ end
@@ -50,6 +50,6 @@ PushType.setup do |config|
50
50
  # secret_access_key: ENV['SECRET_ACCESS_KEY_ID']
51
51
  # }
52
52
 
53
- # config.dragonfly_secret = '95ec48e6fde12daa65a9093d7c6cd8a626019001f388ed0d407154d78ac44f30'
53
+ # config.dragonfly_secret = '6b584170f7beffa02e545d0b10a296bcd78043ec3e84348e4cb5207e5d89bd01'
54
54
 
55
55
  end
@@ -11,10 +11,10 @@
11
11
  # if you're sharing your code publicly.
12
12
 
13
13
  development:
14
- secret_key_base: 992655c5cb254e30f6a08279cae78c7bb529da42b7f3f598f2ae57e3809c19e934351882962572232d8d2bc801734f7a269b042b04be4263d2b67f1a48406924
14
+ secret_key_base: ae14194588cf01b5ebefa9a35d39035ce19b5b8461f05df8b022799cf7fde0563a71872fc7ea90059d08322041f6ac2e72a2f55ddbdad6f6d040963b2dd9525d
15
15
 
16
16
  test:
17
- secret_key_base: 1962b2ff958bc3e4bf7281cafde40cb1e34e1419dc68293ac323e874027d1600bb6538bb74ac7f34856ede2702dfe57f5d9eb6c96b00735606fd7b3ba5a9fa1d
17
+ secret_key_base: 485ce707acb09b599b903c1444a05409b1ecff382d304c1718294ab541fd10ac32d920f66ef6a555725a3cebfd9d0d4e0ad767e6d37fcc563ee79ef8b77b8abb
18
18
 
19
19
  # Do not keep production secrets in the repository,
20
20
  # instead read values from the environment.
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20151102165843) do
14
+ ActiveRecord::Schema.define(version: 20151102202721) do
15
15
 
16
16
  # These are extensions that must be enabled in order to support this database
17
17
  enable_extension "plpgsql"