newsletter 0.1.2 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.gitignore +2 -0
- data/.ruby-version +1 -1
- data/Gemfile +6 -4
- data/app/controllers/newsletter/application_controller.rb +6 -3
- data/app/controllers/newsletter/designs_controller.rb +1 -1
- data/app/controllers/newsletter/pieces_controller.rb +6 -5
- data/app/models/newsletter.rb +0 -9
- data/app/models/newsletter/design.rb +4 -2
- data/app/models/newsletter/element.rb +2 -9
- data/app/models/newsletter/field.rb +0 -4
- data/app/models/newsletter/piece.rb +1 -1
- data/config/spring.rb +1 -0
- data/lib/newsletter/settings.rb +3 -3
- data/lib/newsletter/version.rb +1 -1
- data/newsletter.gemspec +9 -9
- data/newsletters/exports/example-export.yaml +134 -147
- data/spec/spec_helper.rb +14 -0
- data/spec/test_app/.rspec +1 -0
- data/spec/test_app/config/cucumber.yml +8 -0
- data/spec/test_app/config/database.mysql.yml +28 -0
- data/spec/test_app/config/{database.yml → database.sqlite.yml} +0 -0
- data/spec/test_app/config/newsletter.yml +2 -2
- data/spec/test_app/config/spring.rb +1 -0
- data/spec/test_app/db/structure.sql +12 -0
- data/spec/test_app/features/step_definitions/.gitkeep +0 -0
- data/spec/test_app/features/support/env.rb +58 -0
- data/spec/test_app/lib/tasks/cucumber.rake +65 -0
- data/spec/test_app/newsletters/designs/My_Design/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/My_Design/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/My_Design/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/My_Design/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/Testo_Changeo/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/Testo_Changeo/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/empower_innovative_e-business/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/enable_extensible_systems/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/engage_innovative_schemas/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/envisioneer_seamless_ROI/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/harness_integrated_partnerships/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/innovate_24_365_functionalities/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/integrate_mission-critical_systems/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/integrate_mission-critical_systems/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/iterate_real-time_web-readiness/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/iterate_strategic_architectures/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/orchestrate_sticky_communities/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/repurpose_impactful_partnerships/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/revolutionize_robust_partnerships/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/revolutionize_turn-key_bandwidth/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/scale_ubiquitous_synergies/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/syndicate_visionary_metrics/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/target_enterprise_functionalities/layout.html.erb +67 -0
- data/spec/test_app/newsletters/designs/transition_enterprise_systems/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/transition_enterprise_systems/layout.html.erb +66 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_left_column_article.html.erb +10 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_left_column_image.html.erb +2 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_article.html.erb +5 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_headline.html.erb +1 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_image.html.erb +1 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/elements/_right_column_paragraph.html.erb +3 -0
- data/spec/test_app/newsletters/designs/utilize_one-to-one_schemas/layout.html.erb +66 -0
- data/spec/test_app/script/cucumber +10 -0
- data/spec/test_app/spec/factories/designs.rb +13 -0
- data/spec/test_app/spec/factories/newsletters.rb +28 -0
- data/spec/test_app/spec/features/newsletter/newsletter_spec.rb +24 -0
- data/spec/test_app/spec/models/newsletter/design_spec.rb +11 -0
- data/spec/test_app/spec/models/newsletter/newsletter_spec.rb +27 -0
- data/spec/test_app/spec/spec_helper.rb +76 -0
- data/spec/test_app/spec/support/database_cleaner.rb +23 -0
- metadata +750 -50
- data/Procfile +0 -2
- data/engine_plan.rb +0 -13
- data/lib/newsletter/config.rb +0 -50
- data/zeus.json +0 -22
data/Procfile
DELETED
data/engine_plan.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'zeus/rails'
|
2
|
-
|
3
|
-
ROOT_PATH = File.expand_path(Dir.pwd)
|
4
|
-
ENV_PATH = File.expand_path('spec/test_app/config/environment', ROOT_PATH)
|
5
|
-
BOOT_PATH = File.expand_path('spec/test_app/config/boot', ROOT_PATH)
|
6
|
-
APP_PATH = File.expand_path('spec/test_app/config/application', ROOT_PATH)
|
7
|
-
ENGINE_ROOT = File.expand_path(Dir.pwd)
|
8
|
-
ENGINE_PATH = File.expand_path('lib/newsletter/engine', ENGINE_ROOT)
|
9
|
-
|
10
|
-
class EnginePlan < Zeus::Rails
|
11
|
-
end
|
12
|
-
|
13
|
-
Zeus.plan = EnginePlan.new
|
data/lib/newsletter/config.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'erb'
|
2
|
-
require 'yaml'
|
3
|
-
|
4
|
-
class Newsletter::Config
|
5
|
-
attr_reader :sections, :params
|
6
|
-
|
7
|
-
def initialize(file = nil)
|
8
|
-
@sections = {}
|
9
|
-
@params = {}
|
10
|
-
use_file!(file) if file
|
11
|
-
end
|
12
|
-
|
13
|
-
def use_file!(file)
|
14
|
-
begin
|
15
|
-
hash = YAML::load(ERB.new(IO.read(file)).result)
|
16
|
-
@sections.merge!(hash) {|key, old_val, new_val| (old_val || new_val).merge new_val }
|
17
|
-
@params.merge!(@sections['common'])
|
18
|
-
rescue => e
|
19
|
-
nil
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def use_section!(section)
|
24
|
-
@params.merge!(@sections[section.to_s]) if @sections.key?(section.to_s)
|
25
|
-
end
|
26
|
-
|
27
|
-
def method_missing(param)
|
28
|
-
param = param.to_s
|
29
|
-
if @params.key?(param)
|
30
|
-
@params[param]
|
31
|
-
else
|
32
|
-
Rails.logger.warn "Invalid AppConfig Parameter " + param
|
33
|
-
nil
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.initialize!
|
38
|
-
standard_file = File.join(Rails.root,'config','newsletter.yml')
|
39
|
-
local_file = File.join(Rails.root,'config','newsletter.local.yml')
|
40
|
-
unless File.exists?(standard_file)
|
41
|
-
$stderr.puts "Missing Configuration: either define ::Conf with proper values or create a config/newsletter.yml with rake newsletter:default_app_config"
|
42
|
-
end
|
43
|
-
c = ::Newsletter::Config.new
|
44
|
-
c.use_file!("#{Rails.root}/config/newsletter.yml")
|
45
|
-
c.use_file!("#{Rails.root}/config/newsletter.local.yml")
|
46
|
-
c.use_section!(Rails.env)
|
47
|
-
c
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
data/zeus.json
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"command": "ruby -rubygems -r./engine_plan -eZeus.go",
|
3
|
-
|
4
|
-
"plan": {
|
5
|
-
"boot": {
|
6
|
-
"default_bundle": {
|
7
|
-
"development_environment": {
|
8
|
-
"prerake": {"rake": []},
|
9
|
-
"runner": ["r"],
|
10
|
-
"console": ["c"],
|
11
|
-
"server": ["s"],
|
12
|
-
"generate": ["g"],
|
13
|
-
"destroy": ["d"],
|
14
|
-
"dbconsole": []
|
15
|
-
},
|
16
|
-
"test_environment": {
|
17
|
-
"test_helper": {"test": ["rspec", "testrb"]}
|
18
|
-
}
|
19
|
-
}
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|