trusty-cms 4.1.6 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +114 -107
  3. data/INSTALL.md +2 -0
  4. data/app/controllers/admin/pages_controller.rb +1 -1
  5. data/app/controllers/admin/preferences_controller.rb +1 -1
  6. data/app/controllers/admin/resource_controller.rb +1 -1
  7. data/app/controllers/admin/users_controller.rb +1 -1
  8. data/config/environments/development.rb +2 -0
  9. data/lib/generators/extension/USAGE +30 -0
  10. data/lib/generators/extension/extension_generator.rb +97 -0
  11. data/lib/generators/extension/templates/README.md +6 -0
  12. data/lib/generators/extension/templates/RSpecRakefile +109 -0
  13. data/lib/generators/extension/templates/Rakefile +25 -0
  14. data/lib/generators/extension/templates/cucumber.yml +1 -0
  15. data/lib/generators/extension/templates/cucumber_env.rb +11 -0
  16. data/lib/generators/extension/templates/cucumber_paths.rb +22 -0
  17. data/lib/generators/extension/templates/en.yml +3 -0
  18. data/lib/generators/extension/templates/extension.rb +21 -0
  19. data/lib/generators/extension/templates/functional_test.rb +15 -0
  20. data/lib/generators/extension/templates/gemspec.rb +29 -0
  21. data/lib/generators/extension/templates/lib.rb +8 -0
  22. data/lib/generators/extension/templates/migration.rb +9 -0
  23. data/lib/generators/extension/templates/radiant_config.rb +3 -0
  24. data/lib/generators/extension/templates/routes.rb +5 -0
  25. data/lib/generators/extension/templates/spec.opts +6 -0
  26. data/lib/generators/extension/templates/spec_helper.rb +42 -0
  27. data/lib/generators/extension/templates/tasks.rake +47 -0
  28. data/lib/generators/extension/templates/test_helper.rb +26 -0
  29. data/lib/generators/extension_controller/USAGE +36 -0
  30. data/lib/generators/extension_controller/extension_controller_generator.rb +84 -0
  31. data/lib/generators/extension_controller/templates/controller.rb +10 -0
  32. data/lib/generators/extension_controller/templates/controller_spec.rb +23 -0
  33. data/lib/generators/extension_controller/templates/functional_test.rb +11 -0
  34. data/lib/generators/extension_controller/templates/helper.rb +2 -0
  35. data/lib/generators/extension_controller/templates/helper_spec.rb +11 -0
  36. data/lib/generators/extension_controller/templates/helper_test.rb +4 -0
  37. data/lib/generators/extension_controller/templates/view.html.erb +2 -0
  38. data/lib/generators/extension_controller/templates/view_spec.rb +12 -0
  39. data/lib/generators/extension_mailer/USAGE +17 -0
  40. data/lib/generators/extension_mailer/extension_mailer_generator.rb +68 -0
  41. data/lib/generators/extension_mailer/templates/fixture.erb +3 -0
  42. data/lib/generators/extension_mailer/templates/mailer.rb +15 -0
  43. data/lib/generators/extension_mailer/templates/unit_test.rb +21 -0
  44. data/lib/generators/extension_mailer/templates/view.erb +3 -0
  45. data/lib/generators/extension_migration/USAGE +34 -0
  46. data/lib/generators/extension_migration/extension_migration_generator.rb +25 -0
  47. data/lib/generators/extension_migration/templates/migration.rb +11 -0
  48. data/lib/generators/extension_model/USAGE +35 -0
  49. data/lib/generators/extension_model/extension_model_generator.rb +68 -0
  50. data/lib/generators/extension_model/templates/fixtures.yml +19 -0
  51. data/lib/generators/extension_model/templates/migration.rb +16 -0
  52. data/lib/generators/extension_model/templates/model.rb +2 -0
  53. data/lib/generators/extension_model/templates/model_spec.rb +11 -0
  54. data/lib/generators/extension_model/templates/unit_test.rb +8 -0
  55. data/lib/generators/generator_base_extension.rb +18 -0
  56. data/lib/generators/instance/instance_generator.rb +148 -0
  57. data/lib/generators/instance/templates/databases/db2.yml +40 -0
  58. data/lib/generators/instance/templates/databases/mysql.yml +47 -0
  59. data/lib/generators/instance/templates/databases/postgresql.yml +44 -0
  60. data/lib/generators/instance/templates/databases/sqlite3.yml +16 -0
  61. data/lib/generators/instance/templates/databases/sqlserver.yml +21 -0
  62. data/lib/generators/instance/templates/instance_boot.rb +122 -0
  63. data/lib/generators/instance/templates/instance_config.ru +2 -0
  64. data/lib/generators/instance/templates/instance_environment.rb +93 -0
  65. data/lib/generators/instance/templates/instance_gemfile +78 -0
  66. data/lib/generators/instance/templates/instance_generate +6 -0
  67. data/lib/generators/instance/templates/instance_radiant_config.rb +16 -0
  68. data/lib/generators/instance/templates/instance_rakefile +3 -0
  69. data/lib/generators/instance/templates/instance_routes.rb +1 -0
  70. data/lib/generators/language_extension/USAGE +27 -0
  71. data/lib/generators/language_extension/language_extension_generator.rb +71 -0
  72. data/lib/generators/language_extension/templates/README +3 -0
  73. data/lib/generators/language_extension/templates/RSpecRakefile +123 -0
  74. data/lib/generators/language_extension/templates/Rakefile +25 -0
  75. data/lib/generators/language_extension/templates/available_tags.yml +553 -0
  76. data/lib/generators/language_extension/templates/cucumber.yml +1 -0
  77. data/lib/generators/language_extension/templates/cucumber_env.rb +16 -0
  78. data/lib/generators/language_extension/templates/cucumber_paths.rb +14 -0
  79. data/lib/generators/language_extension/templates/extension.rb +12 -0
  80. data/lib/generators/language_extension/templates/functional_test.rb +15 -0
  81. data/lib/generators/language_extension/templates/gemspec.rb +24 -0
  82. data/lib/generators/language_extension/templates/lang.yml +181 -0
  83. data/lib/generators/language_extension/templates/lib.rb +8 -0
  84. data/lib/generators/language_extension/templates/spec.opts +6 -0
  85. data/lib/generators/language_extension/templates/spec_helper.rb +36 -0
  86. data/lib/generators/language_extension/templates/tasks.rake +28 -0
  87. data/lib/generators/language_extension/templates/test_helper.rb +26 -0
  88. data/lib/generators/trusty_cms/USAGE +8 -0
  89. data/lib/generators/trusty_cms/templates/Rakefile.erb +7 -0
  90. data/lib/generators/trusty_cms/templates/application.rb.erb +149 -0
  91. data/lib/generators/trusty_cms/templates/boot.rb.erb +9 -0
  92. data/lib/generators/trusty_cms/templates/config.ru.erb +4 -0
  93. data/lib/generators/trusty_cms/templates/database.yml.erb +28 -0
  94. data/lib/generators/trusty_cms/templates/environment.rb.erb +5 -0
  95. data/lib/generators/trusty_cms/templates/environments/development.rb.erb +24 -0
  96. data/lib/generators/trusty_cms/templates/environments/production.rb.erb +26 -0
  97. data/lib/generators/trusty_cms/templates/environments/test.rb.erb +35 -0
  98. data/lib/generators/trusty_cms/templates/initializers/secret_token.rb.erb +13 -0
  99. data/lib/generators/trusty_cms/templates/initializers/session_store.rb.erb +8 -0
  100. data/lib/generators/trusty_cms/templates/initializers/trusty_cms_config.rb.erb +16 -0
  101. data/lib/generators/trusty_cms/templates/preinitializer.rb.erb +18 -0
  102. data/lib/generators/trusty_cms/templates/routes.rb.erb +0 -0
  103. data/lib/generators/trusty_cms/trusty_cms_generator.rb +32 -0
  104. data/lib/trusty_cms.rb +1 -1
  105. data/lib/trusty_cms/setup.rb +8 -8
  106. data/trusty_cms.gemspec +4 -4
  107. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/base.rb +195 -0
  108. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/check_box.rb +65 -0
  109. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/checkable.rb +18 -0
  110. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/collection_check_boxes.rb +35 -0
  111. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/collection_helpers.rb +118 -0
  112. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/collection_radio_buttons.rb +30 -0
  113. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/collection_select.rb +30 -0
  114. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/color_field.rb +26 -0
  115. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/date_field.rb +14 -0
  116. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/date_select.rb +73 -0
  117. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/datetime_field.rb +31 -0
  118. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/datetime_local_field.rb +20 -0
  119. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/datetime_select.rb +10 -0
  120. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/email_field.rb +10 -0
  121. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/file_field.rb +10 -0
  122. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/grouped_collection_select.rb +31 -0
  123. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/hidden_field.rb +10 -0
  124. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/label.rb +80 -0
  125. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/month_field.rb +14 -0
  126. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/number_field.rb +20 -0
  127. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/password_field.rb +14 -0
  128. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/placeholderable.rb +24 -0
  129. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/radio_button.rb +32 -0
  130. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/range_field.rb +10 -0
  131. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/search_field.rb +27 -0
  132. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/select.rb +42 -0
  133. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/tel_field.rb +10 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/text_area.rb +24 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/text_field.rb +33 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/time_field.rb +14 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/time_select.rb +10 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/time_zone_select.rb +22 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/translator.rb +39 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/url_field.rb +10 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/actionview-6.0.3.4/lib/action_view/helpers/tags/week_field.rb +14 -0
  142. data/yarn.lock +3 -3
  143. metadata +296 -71
  144. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/core.js +0 -126
  145. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/failsafe/index.js +0 -4
  146. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/failsafe/map.js +0 -56
  147. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/failsafe/seq.js +0 -43
  148. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/failsafe/string.js +0 -28
  149. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/index.js +0 -36
  150. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/json.js +0 -76
  151. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/options.js +0 -23
  152. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/yaml-1.1/binary.js +0 -87
  153. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/yaml-1.1/index.js +0 -157
  154. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/yaml-1.1/omap.js +0 -142
  155. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/yaml-1.1/pairs.js +0 -81
  156. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/yaml-1.1/set.js +0 -114
  157. data/spec/spec/dummy/node_modules/yaml/browser/dist/tags/yaml-1.1/timestamp.js +0 -97
  158. data/spec/spec/dummy/node_modules/yaml/dist/tags/core.js +0 -114
  159. data/spec/spec/dummy/node_modules/yaml/dist/tags/failsafe/index.js +0 -17
  160. data/spec/spec/dummy/node_modules/yaml/dist/tags/failsafe/map.js +0 -37
  161. data/spec/spec/dummy/node_modules/yaml/dist/tags/failsafe/seq.js +0 -34
  162. data/spec/spec/dummy/node_modules/yaml/dist/tags/failsafe/string.js +0 -40
  163. data/spec/spec/dummy/node_modules/yaml/dist/tags/index.js +0 -62
  164. data/spec/spec/dummy/node_modules/yaml/dist/tags/json.js +0 -60
  165. data/spec/spec/dummy/node_modules/yaml/dist/tags/options.js +0 -35
  166. data/spec/spec/dummy/node_modules/yaml/dist/tags/yaml-1.1/binary.js +0 -97
  167. data/spec/spec/dummy/node_modules/yaml/dist/tags/yaml-1.1/index.js +0 -131
  168. data/spec/spec/dummy/node_modules/yaml/dist/tags/yaml-1.1/omap.js +0 -105
  169. data/spec/spec/dummy/node_modules/yaml/dist/tags/yaml-1.1/pairs.js +0 -80
  170. data/spec/spec/dummy/node_modules/yaml/dist/tags/yaml-1.1/set.js +0 -91
  171. data/spec/spec/dummy/node_modules/yaml/dist/tags/yaml-1.1/timestamp.js +0 -93
@@ -0,0 +1,97 @@
1
+ begin
2
+ require 'git'
3
+ rescue LoadError
4
+ end
5
+
6
+ class ExtensionGenerator < Rails::Generator::NamedBase
7
+ default_options :with_test_unit => false
8
+
9
+ attr_reader :extension_path, :extension_file_name
10
+
11
+ def initialize(runtime_args, runtime_options = {})
12
+ super
13
+ @extension_file_name = "#{file_name}_extension"
14
+ @extension_path = "vendor/extensions/#{file_name}"
15
+ end
16
+
17
+ def manifest
18
+ record do |m|
19
+ m.directory "#{extension_path}/app/controllers"
20
+ m.directory "#{extension_path}/app/helpers"
21
+ m.directory "#{extension_path}/app/models"
22
+ m.directory "#{extension_path}/app/views"
23
+ m.directory "#{extension_path}/config/locales"
24
+ m.directory "#{extension_path}/config/initializers"
25
+ m.directory "#{extension_path}/db/migrate"
26
+ m.directory "#{extension_path}/lib/tasks"
27
+
28
+ m.template 'README.md', "#{extension_path}/README.md"
29
+ m.template 'extension.rb', "#{extension_path}/#{extension_file_name}.rb"
30
+ m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
31
+ m.template 'en.yml', "#{extension_path}/config/locales/en.yml"
32
+ m.template 'routes.rb', "#{extension_path}/config/routes.rb"
33
+ m.template 'radiant_config.rb', "#{extension_path}/config/initializers/radiant_config.rb"
34
+ m.template 'lib.rb', "#{extension_path}/lib/radiant-#{file_name}-extension.rb"
35
+ m.template 'gemspec.rb', "#{extension_path}/radiant-#{file_name}-extension.gemspec"
36
+
37
+ if options[:with_test_unit]
38
+ m.directory "#{extension_path}/test/fixtures"
39
+ m.directory "#{extension_path}/test/functional"
40
+ m.directory "#{extension_path}/test/unit"
41
+
42
+ m.template 'Rakefile', "#{extension_path}/Rakefile"
43
+ m.template 'test_helper.rb', "#{extension_path}/test/test_helper.rb"
44
+ m.template 'functional_test.rb', "#{extension_path}/test/functional/#{extension_file_name}_test.rb"
45
+ else
46
+ m.directory "#{extension_path}/spec/controllers"
47
+ m.directory "#{extension_path}/spec/models"
48
+ m.directory "#{extension_path}/spec/views"
49
+ m.directory "#{extension_path}/spec/helpers"
50
+ m.directory "#{extension_path}/features/support"
51
+ m.directory "#{extension_path}/features/step_definitions/admin"
52
+
53
+ m.template 'RSpecRakefile', "#{extension_path}/Rakefile"
54
+ m.template 'spec_helper.rb', "#{extension_path}/spec/spec_helper.rb"
55
+ m.file 'spec.opts', "#{extension_path}/spec/spec.opts"
56
+ m.file 'cucumber.yml', "#{extension_path}/cucumber.yml"
57
+ m.template 'cucumber_env.rb', "#{extension_path}/features/support/env.rb"
58
+ m.template 'cucumber_paths.rb', "#{extension_path}/features/support/paths.rb"
59
+ end
60
+ end
61
+ end
62
+
63
+ def class_name
64
+ super.to_name.gsub(' ', '') + 'Extension'
65
+ end
66
+
67
+ def extension_name
68
+ class_name.to_name('Extension')
69
+ end
70
+
71
+ def author_info
72
+ @author_info ||= begin
73
+ Git.global_config
74
+ rescue NameError
75
+ {}
76
+ end
77
+ end
78
+
79
+ def homepage
80
+ author_info['github.user'] ? "http://github.com/#{author_info['github.user']}/radiant-#{file_name}-extension" : "http://example.com/#{file_name}"
81
+ end
82
+
83
+ def author_email
84
+ author_info['user.email'] || 'your email'
85
+ end
86
+
87
+ def author_name
88
+ author_info['user.name'] || 'Your Name'
89
+ end
90
+
91
+ def add_options!(opt)
92
+ opt.separator ''
93
+ opt.separator 'Options:'
94
+ opt.on("--with-test-unit",
95
+ "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v }
96
+ end
97
+ end
@@ -0,0 +1,6 @@
1
+ # <%= extension_name %>
2
+
3
+ TrustyCms is _so_ freaking awesome, but I made it better through this extension.
4
+
5
+ Created by <%= author_name %>. <%- if author_email.include?('@') -%>If I don't update this content with real details,
6
+ please contact me at <%= author_email %> with annoying messages telling me to do it.<%- end -%>
@@ -0,0 +1,109 @@
1
+ # Determine where the RSpec plugin is by loading the boot
2
+ unless defined? TRUSTY_CMS_ROOT
3
+ ENV["Rails.env"] = "test"
4
+ case
5
+ when ENV["RADIANT_ENV_FILE"]
6
+ require File.dirname(ENV["RADIANT_ENV_FILE"]) + "/boot"
7
+ when File.dirname(__FILE__) =~ %r{vendor/trusty_cms/vendor/extensions}
8
+ require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../")}/config/boot"
9
+ else
10
+ require "#{File.expand_path(File.dirname(__FILE__) + "/../../../")}/config/boot"
11
+ end
12
+ end
13
+
14
+ require 'rake'
15
+ require 'rdoc/task'
16
+ require 'rake/testtask'
17
+
18
+ rspec_base = File.expand_path(TRUSTY_CMS_ROOT + '/vendor/plugins/rspec/lib')
19
+ $LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
20
+ require 'spec/rake/spectask'
21
+ require 'cucumber'
22
+ require 'cucumber/rake/task'
23
+
24
+ # Cleanup the TRUSTY_CMS_ROOT constant so specs will load the environment
25
+ Object.send(:remove_const, :TRUSTY_CMS_ROOT)
26
+
27
+ extension_root = File.expand_path(File.dirname(__FILE__))
28
+
29
+ task :default => [:spec, :features]
30
+ task :stats => "spec:statsetup"
31
+
32
+ desc "Run all specs in spec directory"
33
+ Spec::Rake::SpecTask.new(:spec) do |t|
34
+ t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
35
+ t.spec_files = FileList['spec/**/*_spec.rb']
36
+ end
37
+
38
+ task :features => 'spec:integration'
39
+
40
+ namespace :spec do
41
+ desc "Run all specs in spec directory with RCov"
42
+ Spec::Rake::SpecTask.new(:rcov) do |t|
43
+ t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
44
+ t.spec_files = FileList['spec/**/*_spec.rb']
45
+ t.rcov = true
46
+ t.rcov_opts = ['--exclude', 'spec', '--rails']
47
+ end
48
+
49
+ desc "Print Specdoc for all specs"
50
+ Spec::Rake::SpecTask.new(:doc) do |t|
51
+ t.spec_opts = ["--format", "specdoc", "--dry-run"]
52
+ t.spec_files = FileList['spec/**/*_spec.rb']
53
+ end
54
+
55
+ [:models, :controllers, :views, :helpers].each do |sub|
56
+ desc "Run the specs under spec/#{sub}"
57
+ Spec::Rake::SpecTask.new(sub) do |t|
58
+ t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
59
+ t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
60
+ end
61
+ end
62
+
63
+ desc "Run the Cucumber features"
64
+ Cucumber::Rake::Task.new(:integration) do |t|
65
+ t.fork = true
66
+ t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'pretty')]
67
+ # t.feature_pattern = "#{extension_root}/features/**/*.feature"
68
+ t.profile = "default"
69
+ end
70
+
71
+ # Setup specs for stats
72
+ task :statsetup do
73
+ require 'code_statistics'
74
+ ::STATS_DIRECTORIES << %w(Model\ specs spec/models)
75
+ ::STATS_DIRECTORIES << %w(View\ specs spec/views)
76
+ ::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers)
77
+ ::STATS_DIRECTORIES << %w(Helper\ specs spec/views)
78
+ ::CodeStatistics::TEST_TYPES << "Model specs"
79
+ ::CodeStatistics::TEST_TYPES << "View specs"
80
+ ::CodeStatistics::TEST_TYPES << "Controller specs"
81
+ ::CodeStatistics::TEST_TYPES << "Helper specs"
82
+ ::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
83
+ end
84
+
85
+ namespace :db do
86
+ namespace :fixtures do
87
+ desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y"
88
+ task :load => :environment do
89
+ require 'active_record/fixtures'
90
+ ActiveRecord::Base.establish_connection(Rails.env.to_sym)
91
+ (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(Rails.root, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
92
+ Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+
99
+ desc 'Generate documentation for the <%= file_name %> extension.'
100
+ RDoc::Task.new(:rdoc) do |rdoc|
101
+ rdoc.rdoc_dir = 'rdoc'
102
+ rdoc.title = '<%= class_name %>'
103
+ rdoc.options << '--line-numbers' << '--inline-source'
104
+ rdoc.rdoc_files.include('README')
105
+ rdoc.rdoc_files.include('lib/**/*.rb')
106
+ end
107
+
108
+ # Load any custom rakefiles for extension
109
+ Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
@@ -0,0 +1,25 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rdoc/task'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the <%= file_name %> extension.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.pattern = 'test/**/*_test.rb'
12
+ t.verbose = true
13
+ end
14
+
15
+ desc 'Generate documentation for the <%= file_name %> extension.'
16
+ RDoc::Task.new(:rdoc) do |rdoc|
17
+ rdoc.rdoc_dir = 'rdoc'
18
+ rdoc.title = '<%= class_name %>'
19
+ rdoc.options << '--line-numbers' << '--inline-source'
20
+ rdoc.rdoc_files.include('README')
21
+ rdoc.rdoc_files.include('lib/**/*.rb')
22
+ end
23
+
24
+ # Load any custom rakefiles for extension
25
+ Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
@@ -0,0 +1 @@
1
+ default: --format progress features --tags ~@proposed,~@in_progress
@@ -0,0 +1,11 @@
1
+ # Sets up the Rails environment for Cucumber
2
+ ENV["Rails.env"] = "test"
3
+ # Extension root
4
+ extension_env = File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
5
+ require extension_env+'.rb'
6
+
7
+ Dir.glob(File.join(TRUSTY_CMS_ROOT, "features", "**", "*.rb")).each {|step| require step unless step =~ /datasets_loader\.rb$/}
8
+
9
+ Cucumber::Rails::World.class_eval do
10
+ dataset :<%= file_name %>
11
+ end
@@ -0,0 +1,22 @@
1
+ module NavigationHelpers
2
+
3
+ # Extend the standard PathMatchers with your own paths
4
+ # to be used in your features.
5
+ #
6
+ # The keys and values here may be used in your standard web steps
7
+ # Using:
8
+ #
9
+ # When I go to the "<%= file_name %>" admin page
10
+ #
11
+ # would direct the request to the path you provide in the value:
12
+ #
13
+ # admin_<%= file_name %>_path
14
+ #
15
+ PathMatchers = {} unless defined?(PathMatchers)
16
+ PathMatchers.merge!({
17
+ # /<%= file_name %>/i => 'admin_<%= file_name %>_path'
18
+ })
19
+
20
+ end
21
+
22
+ World(NavigationHelpers)
@@ -0,0 +1,3 @@
1
+ ---
2
+ en:
3
+ <%= extension_name.downcase %>: <%= extension_name %>
@@ -0,0 +1,21 @@
1
+ # Uncomment this if you reference any of your controllers in activate
2
+ # require_dependency "application_controller"
3
+ require "radiant-<%= file_name %>-extension"
4
+
5
+ class <%= class_name %> < TrustyCms::Extension
6
+ version TrustyCms<%= class_name %>::VERSION
7
+ description TrustyCms<%= class_name %>::DESCRIPTION
8
+ url TrustyCms<%= class_name %>::URL
9
+
10
+ # See your config/routes.rb file in this extension to define custom routes
11
+
12
+ extension_config do |config|
13
+ # config is the TrustyCms.configuration object
14
+ end
15
+
16
+ def activate
17
+ # tab 'Content' do
18
+ # add_item "<%= extension_name %>", "/admin/<%= file_name %>", :after => "Pages"
19
+ # end
20
+ end
21
+ end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class <%= class_name %>Test < Test::Unit::TestCase
4
+
5
+ # Replace this with your real tests.
6
+ def test_this_extension
7
+ flunk
8
+ end
9
+
10
+ def test_initialization
11
+ assert_equal File.join(File.expand_path(Rails.root), 'vendor', 'extensions', '<%= file_name %>'), <%= class_name %>.root
12
+ assert_equal '<%= extension_name %>', <%= class_name %>.extension_name
13
+ end
14
+
15
+ end
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "radiant-<%= file_name %>-extension"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "radiant-<%= file_name %>-extension"
7
+ s.version = TrustyCms<%= class_name %>::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = TrustyCms<%= class_name %>::AUTHORS
10
+ s.email = TrustyCms<%= class_name %>::EMAIL
11
+ s.homepage = TrustyCms<%= class_name %>::URL
12
+ s.summary = TrustyCms<%= class_name %>::SUMMARY
13
+ s.description = TrustyCms<%= class_name %>::DESCRIPTION
14
+
15
+ # Define gem dependencies here.
16
+ # Don't include a dependency on radiant itself: it causes problems when radiant is in vendor/radiant.
17
+ # s.add_dependency "something", "~> 1.0.0"
18
+ # s.add_dependency "radiant-some-extension", "~> 1.0.0"
19
+
20
+ ignores = if File.exist?('.gitignore')
21
+ File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
22
+ else
23
+ []
24
+ end
25
+ s.files = Dir['**/*'] - ignores
26
+ s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
27
+ # s.executables = Dir['bin/*'] - ignores
28
+ s.require_paths = ["lib"]
29
+ end
@@ -0,0 +1,8 @@
1
+ module TrustyCms<%= class_name %>
2
+ VERSION = "1.0.0"
3
+ SUMMARY = "<%= extension_name %> for TrustyCms CMS"
4
+ DESCRIPTION = "Makes TrustyCms better by adding <%= file_name %>!"
5
+ URL = "<%= homepage %>"
6
+ AUTHORS = ["<%= author_name %>"]
7
+ EMAIL = ["<%= author_email %>"]
8
+ end
@@ -0,0 +1,9 @@
1
+ class Create<%= class_name %>Schema < ActiveRecord::Migration[5.2]
2
+ def self.up
3
+
4
+ end
5
+
6
+ def self.down
7
+
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ TrustyCms.config do |config|
2
+ # config.define "setting.name", :default => 'value', :select_from => ['foo', 'bar']
3
+ end
@@ -0,0 +1,5 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+ # map.namespace :admin, :member => { :remove => :get } do |admin|
3
+ # admin.resources :<%= file_name %>
4
+ # end
5
+ end
@@ -0,0 +1,6 @@
1
+ --colour
2
+ --format
3
+ progress
4
+ --loadby
5
+ mtime
6
+ --reverse
@@ -0,0 +1,42 @@
1
+ unless defined? TRUSTY_CMS_ROOT
2
+ ENV["Rails.env"] = "test"
3
+ case
4
+ when ENV["RADIANT_ENV_FILE"]
5
+ require ENV["RADIANT_ENV_FILE"]
6
+ when File.dirname(__FILE__) =~ %r{vendor/trusty_cms/vendor/extensions}
7
+ require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../../")}/config/environment"
8
+ else
9
+ require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../")}/config/environment"
10
+ end
11
+ end
12
+ require "#{TRUSTY_CMS_ROOT}/spec/spec_helper"
13
+
14
+ Dataset::Resolver.default << (File.dirname(__FILE__) + "/datasets")
15
+ # Include any datasets from loaded extensions
16
+ TrustyCms::Extension.descendants.each do |extension|
17
+ if File.directory?(extension.root + "/spec/datasets")
18
+ Dataset::Resolver.default << (extension.root + "/spec/datasets")
19
+ end
20
+ end
21
+
22
+ if File.directory?(File.dirname(__FILE__) + "/matchers")
23
+ Dir[File.dirname(__FILE__) + "/matchers/*.rb"].each {|file| require file }
24
+ end
25
+
26
+ Spec::Runner.configure do |config|
27
+ # config.use_transactional_fixtures = true
28
+ # config.use_instantiated_fixtures = false
29
+ # config.fixture_path = Rails.root + '/spec/fixtures'
30
+
31
+ # You can declare fixtures for each behaviour like this:
32
+ # describe "...." do
33
+ # fixtures :table_a, :table_b
34
+ #
35
+ # Alternatively, if you prefer to declare them only once, you can
36
+ # do so here, like so ...
37
+ #
38
+ # config.global_fixtures = :table_a, :table_b
39
+ #
40
+ # If you declare global fixtures, be aware that they will be declared
41
+ # for all of your examples, even those that don't use them.
42
+ end
@@ -0,0 +1,47 @@
1
+ namespace :radiant do
2
+ namespace :extensions do
3
+ namespace :<%= file_name %> do
4
+
5
+ desc "Runs the migration of the <%= extension_name %> extension"
6
+ task :migrate => :environment do
7
+ require 'trusty_cms/extension_migrator'
8
+ if ENV["VERSION"]
9
+ <%= class_name %>.migrator.migrate(ENV["VERSION"].to_i)
10
+ Rake::Task['db:schema:dump'].invoke
11
+ else
12
+ <%= class_name %>.migrator.migrate
13
+ Rake::Task['db:schema:dump'].invoke
14
+ end
15
+ end
16
+
17
+ desc "Copies public assets of the <%= extension_name %> to the instance public/ directory."
18
+ task :update => :environment do
19
+ is_svn_or_dir = proc {|path| path =~ /\.svn/ || File.directory?(path) }
20
+ puts "Copying assets from <%= class_name %>"
21
+ Dir[<%= class_name %>.root + "/public/**/*"].reject(&is_svn_or_dir).each do |file|
22
+ path = file.sub(<%= class_name %>.root, '')
23
+ directory = File.dirname(path)
24
+ mkdir_p Rails.root + directory, :verbose => false
25
+ cp file, Rails.root + path, :verbose => false
26
+ end
27
+ end
28
+
29
+ desc "Syncs all available translations for this ext to the English ext master"
30
+ task :sync => :environment do
31
+ # The main translation root, basically where English is kept
32
+ language_root = <%= class_name %>.root + "/config/locales"
33
+ words = TranslationSupport.get_translation_keys(language_root)
34
+
35
+ Dir["#{language_root}/*.yml"].each do |filename|
36
+ next if filename.match('_available_tags')
37
+ basename = File.basename(filename, '.yml')
38
+ puts "Syncing #{basename}"
39
+ (comments, other) = TranslationSupport.read_file(filename, basename)
40
+ words.each { |k,v| other[k] ||= words[k] } # Initializing hash variable as empty if it does not exist
41
+ other.delete_if { |k,v| !words[k] } # Remove if not defined in en.yml
42
+ TranslationSupport.write_file(filename, basename, comments, other)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end