ecrire 0.25.0 → 0.25.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3fcb3e04a26a184a4a0c334415d276f85622427a
4
- data.tar.gz: 4291e04867ed0c6e5f372a0f7271ae2a10557324
3
+ metadata.gz: 5ddb1f62d91da888fa8d3e778817290f95823bf3
4
+ data.tar.gz: 9864c0c4b7fc697559320e651a61ede2476ffe64
5
5
  SHA512:
6
- metadata.gz: 922ddfce245632546f95b59e7866db2411f57018626aa205d9df87bd00a2c46279a23f4cecb501fd9ab1be62fea88c37cf3f9760a869a69e0ee4f3cb5c7f34a4
7
- data.tar.gz: 5a5572199c40d7c95b40ee807ae914a9413992388d729b6395a5b9455b0e578666edcbef368b1446c1457322abf7a94e2b47728c6da891dd5e94d46245099d61
6
+ metadata.gz: 81a906e8665478f1503329e9359d6b550a3c2357a0eb68996b4c7dfe83ae3839b5cbf85ce4dc1fd7bfffd350e9c76a6dce4ad12a0a49d16f8e36fd356db54634
7
+ data.tar.gz: 9cc81279330504df52d6014af8b9da6f336579c8ec600c4359a771f4f2e1da05d165d8d6adbb79844fdc220452e1fff0c77ff6ade26c33e08c0eaf51b45a35dd
data/Gemfile CHANGED
@@ -10,7 +10,6 @@ gem 'nokogiri', '~> 1.6'
10
10
  gem 's3', '~> 0.3'
11
11
  gem 'pg', '~> 0.17'
12
12
  gem 'kaminari', '~> 0.15'
13
- gem 'kramdown', '~> 1.5'
14
13
 
15
14
  gem 'sprockets-rails', '~> 2.1'
16
15
  gem 'sass-rails', '~> 4.0', '>= 4.0.3'
data/Rakefile CHANGED
@@ -16,7 +16,7 @@ namespace :database do
16
16
  end
17
17
 
18
18
  namespace :test do
19
- ['editor', 'onboarding', 'theme'].each do |name|
19
+ ['markdown', 'editor', 'onboarding', 'theme'].each do |name|
20
20
  task = Ecrire::TestTask.new(name) do |t|
21
21
  t.theme = Dir.pwd + "/test/#{name}/theme"
22
22
  t.libs << "test"
@@ -28,7 +28,7 @@ namespace :test do
28
28
  end
29
29
 
30
30
  task :test do
31
- %w(test:editor test:onboarding test:theme).each do |name|
31
+ %w(test:markdown test:editor test:onboarding test:theme).each do |name|
32
32
  Rake::Task[name].invoke
33
33
  end
34
34
  end
@@ -31,13 +31,21 @@ body.edit.posts > main > section {
31
31
  font-size: 1.2em;
32
32
  }
33
33
 
34
- & > *, & > ul > li, & > ol > li {
34
+
35
+ & > ul > li, & > ol > li, h1, h2, h3, h4, h5, h6 {
35
36
  white-space: pre-wrap;
36
37
  min-height: 1.6em;
37
38
  line-height: 1.6em;
38
39
  margin: 0.3em 0;
39
40
  }
40
41
 
42
+ & > p, & > ol, & > ul, & > figure {
43
+ white-space: pre-wrap;
44
+ min-height: 1.6em;
45
+ line-height: 1.6em;
46
+ margin: 1.8em 0;
47
+ }
48
+
41
49
  & > ul, & > ol {
42
50
  margin-left: 2em;
43
51
  }
@@ -1,5 +1,3 @@
1
- require 'kramdown'
2
-
3
1
  module Admin
4
2
  class Post < ::Post
5
3
 
@@ -36,7 +34,7 @@ module Admin
36
34
  private
37
35
 
38
36
  def compile!
39
- self.compiled_content = Kramdown::Document.new(self.content).to_html
37
+ self.compiled_content = Ecrire::Markdown.parse(self.content).to_html
40
38
  end
41
39
 
42
40
  def excerptize!
@@ -0,0 +1,42 @@
1
+ require 'ecrire/markdown/parsers'
2
+ require 'ecrire/markdown/node'
3
+
4
+ module Ecrire::Markdown
5
+ class Document
6
+
7
+ attr_reader :nodes
8
+
9
+ def initialize(content)
10
+ @nodes = content.lines.map do |text|
11
+ Node.new(text.chomp)
12
+ end
13
+ end
14
+
15
+ def parsers
16
+ [
17
+ Ecrire::Markdown::Parsers::Code,
18
+ Ecrire::Markdown::Parsers::Heading,
19
+ Ecrire::Markdown::Parsers::Image,
20
+ Ecrire::Markdown::Parsers::List,
21
+ Ecrire::Markdown::Parsers::Word,
22
+ Ecrire::Markdown::Parsers::Link
23
+ ]
24
+ end
25
+
26
+ def parse!
27
+ parsers.each do |parser|
28
+ parser.parse!(self)
29
+ end
30
+ end
31
+
32
+ def to_html
33
+ @nodes.map do |node|
34
+ if node.instance_of?(Ecrire::Markdown::Node)
35
+ "<p>#{node.to_s}</p>"
36
+ else
37
+ node.to_s
38
+ end
39
+ end.join
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,21 @@
1
+ module Ecrire::Markdown
2
+ module Nodes
3
+ autoload :Image, 'ecrire/markdown/nodes/image'
4
+ autoload :UnorderedList, 'ecrire/markdown/nodes/unordered_list'
5
+ autoload :OrderedList, 'ecrire/markdown/nodes/ordered_list'
6
+ autoload :CodeBlock, 'ecrire/markdown/nodes/code_block'
7
+ autoload :Heading, 'ecrire/markdown/nodes/heading'
8
+ end
9
+
10
+ class Node
11
+ attr_accessor :content
12
+
13
+ def initialize(content)
14
+ @content = content || String.new
15
+ end
16
+
17
+ def to_s
18
+ @content
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,30 @@
1
+ require 'active_support/core_ext/string'
2
+
3
+ module Ecrire::Markdown
4
+ module Nodes
5
+ class CodeBlock < Node
6
+ def initialize(language, title, nodes)
7
+ @content = ERB::Util.html_escape(nodes.join("\n"))
8
+ @title = title
9
+ @language = language
10
+ end
11
+
12
+ def to_s
13
+ str = "<pre>"
14
+ str << "<header>#{@title}</header>"
15
+
16
+ str << "<code"
17
+
18
+ unless @language.nil?
19
+ str << " class='language-#{@language}'>"
20
+ end
21
+
22
+
23
+ str << @content
24
+ str << "</code></pre>"
25
+ str
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,15 @@
1
+ module Ecrire::Markdown
2
+ module Nodes
3
+ class Heading < Node
4
+ def initialize(size, content)
5
+ @size = size
6
+ @content = content
7
+ end
8
+
9
+ def to_s
10
+ "<h#{@size}>#{@content}</h#{@size}>"
11
+ end
12
+ end
13
+ end
14
+ end
15
+
@@ -0,0 +1,14 @@
1
+ module Ecrire::Markdown
2
+ module Nodes
3
+ class Image < Node
4
+ def initialize(title, src)
5
+ @title = title
6
+ @src = src
7
+ end
8
+
9
+ def to_s
10
+ "<figure><img src='#{@src}' /><figcaption>#{@title}</figcaption></figure>"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ module Ecrire::Markdown
2
+ module Nodes
3
+ class OrderedList < Node
4
+
5
+ def initialize(text)
6
+ @content = "<li>#{text}</li>"
7
+ end
8
+
9
+ def append(text)
10
+ @content << "<li>#{text}</li>"
11
+ end
12
+
13
+ def to_s
14
+ "<ol>#{@content}</ol>"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ module Ecrire::Markdown
2
+ module Nodes
3
+ class UnorderedList < Node
4
+
5
+ def initialize(text)
6
+ @content = "<li>#{text}</li>"
7
+ end
8
+
9
+ def append(text)
10
+ @content << "<li>#{text}</li>"
11
+ end
12
+
13
+ def to_s
14
+ "<ul>#{@content}</ul>"
15
+ end
16
+ end
17
+ end
18
+ end
19
+
@@ -0,0 +1,26 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class Base
3
+ class << self
4
+ private :new
5
+ end
6
+
7
+ def self.parse!(document)
8
+ i = 0
9
+ while !document.nodes[i].nil? do
10
+ node = new(document, document.nodes[i], i).parse!
11
+ i = document.nodes.index(node) + 1
12
+ end
13
+ end
14
+
15
+ def initialize(document, node, index)
16
+ @document = document
17
+ @node = node
18
+ @index = index
19
+ end
20
+
21
+ def parse!
22
+ return @node
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,41 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class Code < Base
3
+ OPENING_TAG = /^((~{3,})([a-z]+)?)( (.*))?$/i
4
+
5
+ def parse!
6
+
7
+ unless @node.instance_of?(Ecrire::Markdown::Node)
8
+ return @node
9
+ end
10
+
11
+ if match = OPENING_TAG.match(@node.content)
12
+ count = match[2].size
13
+ language = match[3]
14
+ title = match[5]
15
+ nodes = extract_code_nodes!(count)
16
+ @node = Ecrire::Markdown::Nodes::CodeBlock.new(language, title, nodes)
17
+ @document.nodes[@index] = @node
18
+ end
19
+ return @node
20
+ end
21
+
22
+ def extract_code_nodes!(count)
23
+ regex = Regexp.new("^(~{#{count}}$)")
24
+ found_closing_tag = false
25
+ i = @index + 1
26
+ nodes = []
27
+
28
+ while !found_closing_tag
29
+ break if @document.nodes[i].nil?
30
+ node = @document.nodes.delete_at(i)
31
+ if regex.match(node.content)
32
+ found_closing_tag = true
33
+ else
34
+ nodes.push node
35
+ end
36
+ end
37
+ nodes
38
+ end
39
+
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class Heading < Base
3
+ RULE = /^(\#{1,6} )(.+)/i
4
+
5
+ def parse!
6
+
7
+ unless @node.instance_of?(Ecrire::Markdown::Node)
8
+ return @node
9
+ end
10
+
11
+ if match = RULE.match(@node.content)
12
+ size = match[1].length - 1
13
+ @node = Ecrire::Markdown::Nodes::Heading.new(size, match[2])
14
+ @document.nodes[@index] = @node
15
+ end
16
+ return @node
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class Image < Base
3
+ RULE = /^(!{1}\[([^\]]+)\])(\(([^\s]+)?\))$/i
4
+
5
+ def parse!
6
+
7
+ unless @node.instance_of?(Ecrire::Markdown::Node)
8
+ return @node
9
+ end
10
+
11
+ if match = RULE.match(@node.content)
12
+ @node = Ecrire::Markdown::Nodes::Image.new(match[2], match[4])
13
+ @document.nodes[@index] = @node
14
+ end
15
+ return @node
16
+ end
17
+ end
18
+ end
19
+
@@ -0,0 +1,12 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class Link < Base
3
+ RULE = /!{0}(\[([^\]]+)\])(\(([^\)]+)\))/i
4
+
5
+ def parse!
6
+ while match = RULE.match(@node.content) do
7
+ @node.content.gsub! match[0], "<a href='#{match[4]}'>#{match[2]}</a>"
8
+ end
9
+ return @node
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,33 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class List < Base
3
+ UL = /^(-\s)(.+)?$/i
4
+ OL = /^(\d+\.\s)(.+)?$/i
5
+
6
+ def parse!
7
+
8
+ unless @node.instance_of?(Ecrire::Markdown::Node)
9
+ return @node
10
+ end
11
+
12
+ if match = UL.match(@node.content)
13
+ list! match, Ecrire::Markdown::Nodes::UnorderedList
14
+ elsif match = OL.match(@node.content)
15
+ list! match, Ecrire::Markdown::Nodes::OrderedList
16
+ end
17
+ return @node
18
+ end
19
+
20
+ def list!(match, tag)
21
+ previous_node = @document.nodes[@index - 1]
22
+ if previous_node.nil? || !previous_node.instance_of?(tag)
23
+ @node = tag.new(match[2])
24
+ @document.nodes[@index] = @node
25
+ else
26
+ @index -= 1
27
+ @document.nodes.delete(@node)
28
+ previous_node.append(match[2])
29
+ @node = previous_node
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,16 @@
1
+ module Ecrire::Markdown::Parsers
2
+ class Word < Base
3
+ RULE = /((\*{1,2})([^\*]+)(\*{1,2}))/i
4
+
5
+ def parse!
6
+ while match = RULE.match(@node.content) do
7
+ if match[2].length == 1
8
+ @node.content.gsub! match[0], "<em>#{match[3]}</em>"
9
+ elsif match[2].length == 2
10
+ @node.content.gsub! match[0], "<strong>#{match[3]}</strong>"
11
+ end
12
+ end
13
+ return @node
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ module Ecrire
2
+ module Markdown
3
+ module Parsers
4
+ autoload :Base, 'ecrire/markdown/parsers/base'
5
+ autoload :Word, 'ecrire/markdown/parsers/word'
6
+ autoload :List, 'ecrire/markdown/parsers/list'
7
+ autoload :Image, 'ecrire/markdown/parsers/image'
8
+ autoload :Code, 'ecrire/markdown/parsers/code'
9
+ autoload :Heading, 'ecrire/markdown/parsers/heading'
10
+ autoload :Link, 'ecrire/markdown/parsers/link'
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'ecrire/markdown/document'
2
+
3
+ module Ecrire
4
+ module Markdown
5
+
6
+ def self.parse(str)
7
+ document = Document.new(str)
8
+ document.parse!
9
+ document
10
+ end
11
+
12
+ end
13
+ end
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'ecrire', path: '~/Develop/ecrire'
3
+ gem 'ecrire', git: 'https://github.com/pothibo/ecrire'
4
4
 
5
5
  group :required do
6
6
  gem 'rails', '~> 4.2'
@@ -11,7 +11,6 @@ group :required do
11
11
  gem 's3', '~> 0.3'
12
12
  gem 'pg', '~> 0.17'
13
13
  gem 'kaminari', '~> 0.15'
14
- gem 'kramdown', '~> 1.5'
15
14
 
16
15
  gem 'sprockets-rails', '~> 2.1'
17
16
  gem 'sass-rails', '~> 4.0', '>= 4.0.3'
@@ -0,0 +1,8 @@
1
+ class TagsController < Ecrire::ThemeController
2
+ def show
3
+ @tags = Tag.all
4
+ @tag = Tag.find(params[:id])
5
+ @posts = @tag.posts.includes(:titles).page(params[:page]).per(params[:per])
6
+ end
7
+ end
8
+
@@ -0,0 +1,11 @@
1
+ ---
2
+ development: &1
3
+ adapter: postgresql
4
+ database: ecrire
5
+ user: pothibo
6
+ password: 3dbdbc10bdf7bd7d8ad7b6dbcf4bb26c
7
+ encoding: utf8
8
+ secret_key: 43fce5ef5993544ba39821911080adfa
9
+ secret_key_base: 43fce5ef5993544ba39821911080adfa
10
+ test: *1
11
+ production: *1
@@ -1,3 +1,3 @@
1
1
  module Ecrire
2
- VERSION = '0.25.0'
2
+ VERSION = '0.25.1'
3
3
  end
data/lib/ecrire.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  module Ecrire
2
2
 
3
3
  autoload :Application, 'ecrire/application'
4
+ autoload :Markdown, 'ecrire/markdown'
4
5
 
5
6
  def self.bundle?
6
7
  ENV['BUNDLE_GEMFILE'] ||= Dir.pwd + '/Gemfile'
@@ -0,0 +1,70 @@
1
+ require 'ecrire/markdown'
2
+
3
+ require 'minitest/autorun'
4
+
5
+ class MarkdownTest < Minitest::Test
6
+
7
+ def test_paragraph
8
+ document = Ecrire::Markdown.parse("Hello world!\nThis is nice.")
9
+ assert_equal '<p>Hello world!</p><p>This is nice.</p>', document.to_html
10
+ end
11
+
12
+ def test_header
13
+ document = Ecrire::Markdown.parse('# test')
14
+ assert_equal "<h1>test</h1>", document.to_html
15
+
16
+ document = Ecrire::Markdown.parse('## test and *some*')
17
+ assert_equal "<h2>test and <em>some</em></h2>", document.to_html
18
+ end
19
+
20
+ def test_italic
21
+ document = Ecrire::Markdown.parse('*test*')
22
+ assert_equal "<p><em>test</em></p>", document.to_html
23
+ end
24
+
25
+ def test_bold
26
+ document = Ecrire::Markdown.parse('**test**')
27
+ assert_equal "<p><strong>test</strong></p>", document.to_html
28
+ end
29
+
30
+ def test_bold_and_italic
31
+ document = Ecrire::Markdown.parse('***bold and italic***')
32
+ assert_equal "<p><em><strong>bold and italic</strong></em></p>", document.to_html
33
+
34
+ document = Ecrire::Markdown.parse('**bold** and *italic*')
35
+ assert_equal "<p><strong>bold</strong> and <em>italic</em></p>", document.to_html
36
+ end
37
+
38
+ def test_code_blocks
39
+ document = Ecrire::Markdown.parse("~~~ruby\n# A comment\nRails.application\n~~~")
40
+ assert_equal "<pre><header></header><code class='language-ruby'># A comment\nRails.application</code></pre>", document.to_html
41
+
42
+ document = Ecrire::Markdown.parse("~~~ruby a title\n# A comment\nRails.application\n~~~")
43
+ assert_equal "<pre><header>a title</header><code class='language-ruby'># A comment\nRails.application</code></pre>", document.to_html
44
+ end
45
+
46
+ def test_unordered_list
47
+ document = Ecrire::Markdown.parse("- ruby\n- Go")
48
+ assert_equal '<ul><li>ruby</li><li>Go</li></ul>', document.to_html
49
+ end
50
+
51
+ def test_ordered_list
52
+ document = Ecrire::Markdown.parse("1. Ruby\n2. **Go**")
53
+ assert_equal '<ol><li>Ruby</li><li><strong>Go</strong></li></ol>', document.to_html
54
+ end
55
+
56
+ def test_lists
57
+ document = Ecrire::Markdown.parse("1. Ruby\n2. **Go**\n- Test\n- 123")
58
+ assert_equal '<ol><li>Ruby</li><li><strong>Go</strong></li></ol><ul><li>Test</li><li>123</li></ul>', document.to_html
59
+ end
60
+
61
+ def test_image
62
+ document = Ecrire::Markdown.parse('![An Image](http://bla.com)')
63
+ assert_equal "<figure><img src='http://bla.com' /><figcaption>An Image</figcaption></figure>", document.to_html
64
+ end
65
+
66
+ def test_link
67
+ document = Ecrire::Markdown.parse('[A link](http://bla.com)')
68
+ assert_equal "<p><a href='http://bla.com'>A link</a></p>", document.to_html
69
+ end
70
+ end
data/test/test_task.rb CHANGED
@@ -7,12 +7,16 @@ class Ecrire::TestTask < Rake::TestTask
7
7
  desc @description
8
8
  task @name do
9
9
  Rake::FileUtilsExt.verbose(@verbose) do
10
- args =
11
- "#{ruby_opts_string} #{run_code} " +
12
- "#{file_list_string} #{option_list}" +
13
- "#{theme}"
10
+ args = [
11
+ "#{ruby_opts_string} #{run_code} ",
12
+ "#{file_list_string} #{option_list}"
13
+ ]
14
14
 
15
- ruby args do |ok, status|
15
+ if File.exists?(theme)
16
+ args << theme
17
+ end
18
+
19
+ ruby args.join do |ok, status|
16
20
  if !ok && status.respond_to?(:signaled?) && status.signaled?
17
21
  raise SignalException.new(status.termsig)
18
22
  elsif !ok
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecrire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.0
4
+ version: 0.25.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pier-Olivier Thibault
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-04 00:00:00.000000000 Z
11
+ date: 2015-04-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Blog engine on Rails
14
14
  email: pothibo@gmail.com
@@ -191,6 +191,22 @@ files:
191
191
  - lib/ecrire/locales/admin/partials/en.yml
192
192
  - lib/ecrire/locales/admin/posts/en.yml
193
193
  - lib/ecrire/locales/en.yml
194
+ - lib/ecrire/markdown.rb
195
+ - lib/ecrire/markdown/document.rb
196
+ - lib/ecrire/markdown/node.rb
197
+ - lib/ecrire/markdown/nodes/code_block.rb
198
+ - lib/ecrire/markdown/nodes/heading.rb
199
+ - lib/ecrire/markdown/nodes/image.rb
200
+ - lib/ecrire/markdown/nodes/ordered_list.rb
201
+ - lib/ecrire/markdown/nodes/unordered_list.rb
202
+ - lib/ecrire/markdown/parsers.rb
203
+ - lib/ecrire/markdown/parsers/base.rb
204
+ - lib/ecrire/markdown/parsers/code.rb
205
+ - lib/ecrire/markdown/parsers/heading.rb
206
+ - lib/ecrire/markdown/parsers/image.rb
207
+ - lib/ecrire/markdown/parsers/link.rb
208
+ - lib/ecrire/markdown/parsers/list.rb
209
+ - lib/ecrire/markdown/parsers/word.rb
194
210
  - lib/ecrire/onboarding/assets/images/.keep
195
211
  - lib/ecrire/onboarding/assets/images/background.png
196
212
  - lib/ecrire/onboarding/assets/images/github-logo.png
@@ -233,8 +249,10 @@ files:
233
249
  - lib/ecrire/theme/template/assets/stylesheets/theme.css.scss
234
250
  - lib/ecrire/theme/template/config.ru
235
251
  - lib/ecrire/theme/template/controllers/posts_controller.rb
252
+ - lib/ecrire/theme/template/controllers/tags_controller.rb
236
253
  - lib/ecrire/theme/template/helpers/blog_helper.rb
237
254
  - lib/ecrire/theme/template/routes.rb
255
+ - lib/ecrire/theme/template/secrets.yml
238
256
  - lib/ecrire/theme/template/views/layouts/application.html.erb
239
257
  - lib/ecrire/theme/template/views/posts/_post.html.erb
240
258
  - lib/ecrire/theme/template/views/posts/index.html.erb
@@ -273,7 +291,7 @@ files:
273
291
  - test/fixtures/tags.yml
274
292
  - test/fixtures/titles.yml
275
293
  - test/fixtures/users.yml
276
- - test/initializations/engine_test.rb
294
+ - test/markdown/markdown_test.rb
277
295
  - test/onboarding/controllers/databases_controller_test.rb
278
296
  - test/onboarding/controllers/onboarding_controller_test.rb
279
297
  - test/onboarding/controllers/users_controller_test.rb
@@ -308,7 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
308
326
  version: '0'
309
327
  requirements: []
310
328
  rubyforge_project:
311
- rubygems_version: 2.0.14
329
+ rubygems_version: 2.2.2
312
330
  signing_key:
313
331
  specification_version: 4
314
332
  summary: Blog engine
@@ -1,47 +0,0 @@
1
- class RailtieTest < ActiveSupport::TestCase
2
- include ActiveSupport::Testing::Isolation
3
-
4
- def teardown
5
- Object.send(:remove_const, :Ecrire)
6
- end
7
-
8
- test 'Ecrire onboards by default' do
9
- require 'ecrire'
10
- Ecrire::Application.initialize!
11
- assert defined?(Ecrire::Onboarding::Engine)
12
- assert !defined?(Ecrire::Theme::Engine)
13
- end
14
-
15
- test 'load the normal railtie if a secrets.yml can be found' do
16
- Dir.chdir 'test/themes/onboarding' do
17
-
18
- require 'ecrire'
19
- Ecrire::Application.initialize!
20
-
21
- assert defined?(Ecrire::Onboarding::Engine)
22
- assert !defined?(Ecrire::Theme::Engine)
23
- end
24
- end
25
-
26
- test 'configured completely if a connection to the database can be made' do
27
- Dir.chdir 'test/themes/template' do
28
-
29
- run_in_isolation do
30
- require 'ecrire'
31
- Ecrire::Application.initialize!
32
- ::User.first_or_create!(email: 'test@test.ca', password: 123456)
33
- end
34
-
35
- require 'ecrire'
36
- Ecrire::Application.initialize!
37
-
38
- assert !defined?(Ecrire::Onboarding::Engine)
39
- assert defined?(Ecrire::Theme::Engine)
40
- # Need to destroy the user here because parallelization is fubar'ed
41
- # and it's the most stable way I found it.
42
- # All other options seemed to introduce racing conditions.
43
- User.destroy_all
44
- end
45
- end
46
-
47
- end