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

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.
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"