mastalk 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +0 -1
- data/Gemfile +7 -0
- data/README.md +22 -0
- data/bin/markdown-libraries-benchmark +31 -0
- data/bin/mastalk-benchmark +39 -0
- data/bin/mastalk-profiling +20 -0
- data/lib/mastalk/document.rb +38 -0
- data/lib/mastalk/extensions.rb +2 -1
- data/lib/mastalk/snippets/callout.html.erb +1 -1
- data/lib/mastalk/snippets/callout_tool.html.erb +1 -1
- data/lib/mastalk.rb +1 -39
- data/mastalk.gemspec +2 -2
- data/profiling_results/.gitkeep +0 -0
- data/spec/fixtures/cms_page_content +149 -0
- data/spec/fixtures/duplicated_snippets +55 -0
- data/spec/fixtures/expected_conversion_duplicated_snippets +35 -0
- data/spec/integration/conversion_spec.rb +21 -0
- data/spec/{mastalk_spec.rb → mastalk/document_spec.rb} +0 -2
- metadata +16 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e21f308f7ad9aa85a951dcab033dc1b5254d9c07
|
4
|
+
data.tar.gz: f43c759e6857c4ea1ece6e3384ce690b4091a5d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2bb96d094ff5fd0c8bb338a19654c02028f09ce1dbce0cb6c657afd8069f7851c9ce57bdf39aa943a648c6645ef367b219ed82694eec5c51e5e4f319747bdf0
|
7
|
+
data.tar.gz: b225defd922444371958bda7e155d9121e4552f9e0c3bcc4ed5d882de4058ec656240ffcef7f8300cb2fc2f1bee8cb609c861290cffa38608c70a8af635189a5
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -364,3 +364,25 @@ Outputs:
|
|
364
364
|
```
|
365
365
|
|
366
366
|
`$bl_c` `$bl_m` positioning can be swapped around to switch element positions.
|
367
|
+
|
368
|
+
### Profiling Mastalk
|
369
|
+
|
370
|
+
Inside of the project you can run:
|
371
|
+
|
372
|
+
```
|
373
|
+
ruby -Ilib ./bin/mastalk-profiling
|
374
|
+
```
|
375
|
+
|
376
|
+
This command will generate different types of graphs and the ruby stack
|
377
|
+
for you investigate possible bottlenecks on performance.
|
378
|
+
|
379
|
+
### Benchmarking Mastalk
|
380
|
+
|
381
|
+
Inside of the project you can run:
|
382
|
+
|
383
|
+
```
|
384
|
+
ruby -Ilib ./bin/mastalk-benchmarking
|
385
|
+
```
|
386
|
+
|
387
|
+
This command will print different benchmarking for Mastalk when parsing
|
388
|
+
10, 100, 200 and 500 documents.
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'bundler/setup'
|
3
|
+
Bundler.require(:profile)
|
4
|
+
|
5
|
+
%w(benchmark kramdown bluecloth rdiscount).each do |lib|
|
6
|
+
require lib
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'mastalk'
|
10
|
+
|
11
|
+
n = 1000
|
12
|
+
mastalk = Mastalk::Document.new(File.read(File.join('spec', 'fixtures', 'cms_page_content')))
|
13
|
+
markdown = mastalk.send(:preprocess, mastalk.source)
|
14
|
+
|
15
|
+
def parse_markdown(parser, markdown)
|
16
|
+
parser.new(markdown).to_html
|
17
|
+
end
|
18
|
+
|
19
|
+
Benchmark.bm 15 do |x|
|
20
|
+
x.report('Kramdown') do
|
21
|
+
n.times { parse_markdown Kramdown::Document, markdown }
|
22
|
+
end
|
23
|
+
|
24
|
+
x.report('Bluecloth') do
|
25
|
+
n.times { parse_markdown BlueCloth, markdown }
|
26
|
+
end
|
27
|
+
|
28
|
+
x.report('RDiscount') do
|
29
|
+
n.times { parse_markdown RDiscount, markdown }
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'mastalk'
|
3
|
+
require 'ruby-prof'
|
4
|
+
require 'benchmark'
|
5
|
+
|
6
|
+
class MastalkBenchmark
|
7
|
+
def initialize(documents:)
|
8
|
+
@documents_size = documents
|
9
|
+
@cms_page_content = File.read(File.join('spec', 'fixtures', 'cms_page_content'))
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_html
|
13
|
+
@documents_size.times do
|
14
|
+
Mastalk::Document.new(@cms_page_content).to_html
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Benchmark.bm do |x|
|
20
|
+
x.report('Parsing 10 documents') do
|
21
|
+
MastalkBenchmark.new(documents: 10).to_html
|
22
|
+
end
|
23
|
+
|
24
|
+
x.report('Parsing 100 documents') do
|
25
|
+
MastalkBenchmark.new(documents: 100).to_html
|
26
|
+
end
|
27
|
+
|
28
|
+
x.report('Parsing 200 documents') do
|
29
|
+
MastalkBenchmark.new(documents: 200).to_html
|
30
|
+
end
|
31
|
+
|
32
|
+
x.report('Parsing 500 documents') do
|
33
|
+
MastalkBenchmark.new(documents: 500).to_html
|
34
|
+
end
|
35
|
+
|
36
|
+
x.report('Parsing 1000 documents') do
|
37
|
+
MastalkBenchmark.new(documents: 1000).to_html
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'mastalk'
|
3
|
+
require 'ruby-prof'
|
4
|
+
|
5
|
+
cms_page_content = File.read(File.join('spec', 'fixtures', 'cms_page_content'))
|
6
|
+
|
7
|
+
PAGES_SIZE = 500
|
8
|
+
|
9
|
+
puts '*' * 80
|
10
|
+
puts "Profiling: parsing #{PAGES_SIZE} pages."
|
11
|
+
puts '*' * 80
|
12
|
+
|
13
|
+
result = RubyProf.profile do
|
14
|
+
PAGES_SIZE.times do
|
15
|
+
Mastalk::Document.new(cms_page_content).to_html
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
printer = RubyProf::MultiPrinter.new(result)
|
20
|
+
printer.print(path: 'profiling_results', profile: 'mastalk_profiling')
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'kramdown'
|
2
|
+
require 'htmlentities'
|
3
|
+
require 'mastalk/extensions'
|
4
|
+
|
5
|
+
module Mastalk
|
6
|
+
# Document class to preprocess
|
7
|
+
# mastalk specific syntax
|
8
|
+
class Document
|
9
|
+
include Mastalk::Extensions
|
10
|
+
|
11
|
+
attr_reader :source
|
12
|
+
|
13
|
+
def initialize(source)
|
14
|
+
@source = source.dup
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_html(options = {})
|
18
|
+
auto_ids = options[:auto_id].nil? ? true : options[:auto_ids]
|
19
|
+
kramdown = Kramdown::Document.new(
|
20
|
+
preprocess(source),
|
21
|
+
auto_ids: auto_ids
|
22
|
+
)
|
23
|
+
html, _ = Kramdown::Converter::Html.convert(kramdown.root, kramdown.options)
|
24
|
+
::HTMLEntities.new.decode(html)
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def preprocess(source)
|
30
|
+
extensions.each do |regex, block|
|
31
|
+
while source.match(regex)
|
32
|
+
source.sub!(regex, block.call(Regexp.last_match.captures.first).strip)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
source
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/mastalk/extensions.rb
CHANGED
@@ -26,9 +26,10 @@ module Mastalk
|
|
26
26
|
next if file == '.' || file == '..'
|
27
27
|
content = File.read(File.join(SNIPPETS_FOLDER, file))
|
28
28
|
start, stop = args(content)
|
29
|
+
erb = ERB.new(remove_syntax_from(content))
|
29
30
|
extension(start, stop) do |body|
|
30
31
|
body_lines = body.strip.gsub(/(\n|\r)+/, "\n").split(/\n/)
|
31
|
-
|
32
|
+
erb.result(binding)
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
data/lib/mastalk.rb
CHANGED
@@ -1,39 +1 @@
|
|
1
|
-
require '
|
2
|
-
require 'htmlentities'
|
3
|
-
require_relative 'mastalk/extensions'
|
4
|
-
|
5
|
-
module Mastalk
|
6
|
-
# Document class to preprocess
|
7
|
-
# mastalk specific syntax
|
8
|
-
class Document
|
9
|
-
include Mastalk::Extensions
|
10
|
-
|
11
|
-
attr_reader :source
|
12
|
-
|
13
|
-
def initialize(source)
|
14
|
-
@source = source.dup
|
15
|
-
end
|
16
|
-
|
17
|
-
def to_html(options = {})
|
18
|
-
options[:auto_id] = options[:auto_id].nil? ? true : options[:auto_id]
|
19
|
-
::HTMLEntities.new.decode( kramdown(options).to_html() )
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def kramdown(options = {})
|
25
|
-
options[:auto_id] = options[:auto_id].nil? ? true : options[:auto_id]
|
26
|
-
Kramdown::Document.new(preprocess(source), :auto_ids => options[:auto_id])
|
27
|
-
end
|
28
|
-
|
29
|
-
def preprocess(source)
|
30
|
-
extensions.map do |regex, block|
|
31
|
-
if source.match(regex)
|
32
|
-
source.sub!(regex, block.call(Regexp.last_match.captures.first).strip)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
preprocess(source) if extensions.any? {|regex, _| source.match(regex)}
|
36
|
-
source
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
1
|
+
require 'mastalk/document'
|
data/mastalk.gemspec
CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'mastalk'
|
6
|
-
s.version = '0.
|
6
|
+
s.version = '0.9.0'
|
7
7
|
s.summary = 'mastalk'
|
8
8
|
s.description = 'Mastalk markdown extension language'
|
9
9
|
s.authors = ['Douglas Roper', 'Justin Perry']
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.homepage = 'https://github.com/moneyadviceservice/mastalk'
|
13
13
|
s.license = 'MIT'
|
14
14
|
|
15
|
-
s.add_runtime_dependency 'kramdown', '~> 1.
|
15
|
+
s.add_runtime_dependency 'kramdown', '~> 1.13', '>= 1.13'
|
16
16
|
s.add_runtime_dependency 'htmlentities', '~> 4.3.2', '>= 4.3.2'
|
17
17
|
s.add_development_dependency 'rspec', '~> 3.1.0', '>= 3.1.0'
|
18
18
|
s.add_development_dependency 'rake', '~> 10.3.2', '>= 10.3.2'
|
File without changes
|
@@ -0,0 +1,149 @@
|
|
1
|
+
This guide to choosing the right bank account is for you if you’re trying to decide what type of account best fits your needs or you want to know which features of an account you should compare. It can also help if you’re thinking of switching your bank account.
|
2
|
+
|
3
|
+
Choose the type of account that suits your needs
|
4
|
+
Decide what charges and features you want to compare
|
5
|
+
Decide how you want to deal with your bank
|
6
|
+
Compare different accounts using comparison sites
|
7
|
+
Is it worth switching your bank account?
|
8
|
+
If you’re claiming Universal Credit
|
9
|
+
Watch our video – How to open a bank account
|
10
|
+
Choose the type of account that suits your needs
|
11
|
+
|
12
|
+
Current accounts
|
13
|
+
|
14
|
+
Most people use a current account with a bank or building society to manage their day-to-day money. It allows you to:
|
15
|
+
|
16
|
+
Pay bills by Direct Debit or standing order
|
17
|
+
Receive automated payments such as salary, wages or benefits
|
18
|
+
Pay for things with a debit card and withdraw money from cashpoint machines
|
19
|
+
Access to an overdraft, although this will need to be authorised by the bank
|
20
|
+
^Read more about current accounts.^
|
21
|
+
|
22
|
+
Packaged accounts
|
23
|
+
|
24
|
+
$~callout
|
25
|
+
|
26
|
+
If you’re thinking about opening a packaged account, be sure to check out how many of the additional benefits you would actually use and whether you can get them cheaper elsewhere.
|
27
|
+
|
28
|
+
~$
|
29
|
+
|
30
|
+
Some current accounts offer extra features for which they charge a fee (often between £10 and £15 a month). These are known as packaged accounts. Extras include:
|
31
|
+
|
32
|
+
Special offers (eg preferential interest rates on overdrafts)
|
33
|
+
Car breakdown cover
|
34
|
+
Insurance cover (eg travel or mobile phone insurance)
|
35
|
+
Extra services
|
36
|
+
^Read more about packaged accounts.^
|
37
|
+
|
38
|
+
Fee-free Basic bank accounts
|
39
|
+
|
40
|
+
These are often used as a stepping stone to a current account. A basic bank account doesn’t normally have an overdraft facility but does allow you to:
|
41
|
+
|
42
|
+
Pay bills by Direct Debit or standing order
|
43
|
+
Receive payments such as salary, wages or benefits
|
44
|
+
A fee-free basic bank account may be right for you if:
|
45
|
+
|
46
|
+
You have a poor credit record or you’re on a low income
|
47
|
+
You don’t need the extra things that a current account offers, for example an overdraft facility
|
48
|
+
^Want to find out more about fee-free basic bank accounts? We’ve pulled together a collection of guides, tips and handy links to make sure you get the best deal.^
|
49
|
+
|
50
|
+
Jam jar accounts
|
51
|
+
|
52
|
+
These accounts are sometimes called budgeting accounts or rent accounts and are designed to help you budget. They let you divide your money into different 'pots' or 'jars'. You decide how much money goes into each pot by working out how much you need for your bills and how much is left over for spending or saving.
|
53
|
+
|
54
|
+
They also allow you to:
|
55
|
+
|
56
|
+
Pay bills by Direct Debit or standing order
|
57
|
+
Receive payments such as salary, wages or benefits.
|
58
|
+
One disadvantage of these accounts is that they charge a monthly fee
|
59
|
+
|
60
|
+
A jam jar account might be right for you if:
|
61
|
+
|
62
|
+
You want an account that helps you to budget
|
63
|
+
You want to avoid charges for refused Direct Debits
|
64
|
+
You rent a council or housing association property – in which case your landlord might pay the monthly fee for you
|
65
|
+
^Read more about jam jar accounts.^
|
66
|
+
|
67
|
+
Bank accounts for students and graduates
|
68
|
+
|
69
|
+
Most banks will offer a specific student account usually with an interest-free overdraft up to an agreed amount.
|
70
|
+
|
71
|
+
Banks often also offer attractive accounts to graduates to attempt to secure them as long-term customers.
|
72
|
+
|
73
|
+
^Find out more about bank accounts for students and graduates.^
|
74
|
+
|
75
|
+
Decide what charges and features you want to compare
|
76
|
+
|
77
|
+
Fees, charges and overdraft costs
|
78
|
+
|
79
|
+
Fees can vary a lot between banks and between accounts, with one of the highest fees being charged for going over your agreed overdraft limit (if you have one).
|
80
|
+
|
81
|
+
If you regularly spend more than you have in your account, choose one which will give you an overdraft up to an agreed limit without charging fees and/ or with a low interest rate.
|
82
|
+
|
83
|
+
Interest rates on credit balances
|
84
|
+
|
85
|
+
If you’re careful about your spending and never go overdrawn, have a look at the accounts that pay interest on your credit balance. However, if your earnings are on the low side and you do sometimes use your overdraft, don’t pay too much attention to the credit interest – focus more on the charges instead.
|
86
|
+
|
87
|
+
Incentives
|
88
|
+
|
89
|
+
Many banks offer deals to attract new customers, but be sure to check if there are strings attached. Look beyond any short-term offer and make sure that, when it ends, the account will still be the best for you. Deals include:
|
90
|
+
|
91
|
+
A cash incentive
|
92
|
+
Higher interest for a period
|
93
|
+
A monthly credit of usually around £5.
|
94
|
+
Decide how you want to deal with your bank
|
95
|
+
|
96
|
+
Do you like dealing with a person in a branch or would you prefer the convenience of telephone or Internet banking?
|
97
|
+
|
98
|
+
Not all banks provide phone, Internet, mobile banking, postal and branch services so make sure you will be able to bank how you want to.
|
99
|
+
|
100
|
+
If you like going into a branch, choosing a bank you can easily get to will be the most important factor.
|
101
|
+
|
102
|
+
Make sure there’s a cashpoint machine that you can use free of charge near where you live or work. Otherwise you might be charged between 75p and £10 for withdrawing money.
|
103
|
+
|
104
|
+
Compare different accounts using comparison sites
|
105
|
+
|
106
|
+
Comparison websites are a good starting point for anyone trying to find a current account tailored to their needs.
|
107
|
+
|
108
|
+
We recommend the following websites for comparing current accounts:
|
109
|
+
|
110
|
+
Go Compare{:target="_blank"} – This also allows you to use the government-backed Midata tool to securely upload your past transactions for customised current account recommendations.
|
111
|
+
Moneyfacts{:target="_blank"}
|
112
|
+
Money Saving Expert{:target="_blank"}
|
113
|
+
Money Supermarket{:target="_blank"}
|
114
|
+
Remember:
|
115
|
+
|
116
|
+
Comparison websites won’t all give you the same results, so make sure you use more than one site before making a decision.
|
117
|
+
It is also important to do some research into the type of product and features you need before making a purchase or changing supplier.
|
118
|
+
^Find out more in our guide to comparison sites.^
|
119
|
+
|
120
|
+
Is it worth switching your bank account?
|
121
|
+
|
122
|
+
If you’re unhappy with the service you are getting from your current bank then it’s easy to change. Your new bank will do the work for you and there is no need to deal with your old bank.
|
123
|
+
|
124
|
+
It’s worth checking every year that your bank is offering everything you need. If not, think about switching.
|
125
|
+
|
126
|
+
It takes just seven working days to switch your account under the Current Account Switch Service. You choose the date you want to switch, and agree this with your new bank. They will arrange for all your incoming and outgoing payments to be moved to your new account.
|
127
|
+
|
128
|
+
^Find everything you need to know about switching bank account on the Current Account Switch Service website{:target="_blank"}.^
|
129
|
+
|
130
|
+
The government is working with the banks on plans to give customers their account data in a simple, standardised format that can be used in comparison sites.
|
131
|
+
|
132
|
+
This will make it much easier for you to do quick and easy comparisons of current accounts, including the fees, charges and benefits, and make informed decisions on whether there are better accounts for you to switch to.
|
133
|
+
|
134
|
+
If you’re claiming Universal Credit
|
135
|
+
|
136
|
+
If you’re getting ready for the introduction of Universal Credit, follow the link below to find out what your account options are and the pros and cons of each one.
|
137
|
+
|
138
|
+
^Read more about Choosing a bank account for your Universal Credit payment.^
|
139
|
+
|
140
|
+
Watch our video – How to open a bank account
|
141
|
+
|
142
|
+
$~youtube_video
|
143
|
+
|
144
|
+
XZoc2Cv3BAE?
|
145
|
+
|
146
|
+
Video - How to open a bank account
|
147
|
+
~$
|
148
|
+
|
149
|
+
Read a transcript of this video (DOC 26.5KB)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
|
2
|
+
$~youtube_video
|
3
|
+
|
4
|
+
XZoc2Cv3BAE?
|
5
|
+
|
6
|
+
Video 1
|
7
|
+
~$
|
8
|
+
|
9
|
+
$~youtube_video
|
10
|
+
|
11
|
+
qv8RpXmXrh0?
|
12
|
+
|
13
|
+
Universal Credit - Online Budgeting Support
|
14
|
+
~$
|
15
|
+
|
16
|
+
$~youtube_video
|
17
|
+
|
18
|
+
2eVfzMFU9X4?
|
19
|
+
|
20
|
+
Top Tips To Save Hundreds On Your Food Bill
|
21
|
+
~$
|
22
|
+
|
23
|
+
$~youtube_video
|
24
|
+
|
25
|
+
U9Vkn_u-W1M?
|
26
|
+
|
27
|
+
How To Sell Online And Make Cash Quick
|
28
|
+
~$
|
29
|
+
|
30
|
+
$~youtube_video
|
31
|
+
|
32
|
+
Q1tVzEs9zoM?
|
33
|
+
|
34
|
+
How To Sell Online And Make Cash Quick 2
|
35
|
+
~$
|
36
|
+
|
37
|
+
$~callout
|
38
|
+
|
39
|
+
If you’re thinking about opening a packaged account, be sure to check out how many of the additional benefits you would actually use and whether you can get them cheaper elsewhere.
|
40
|
+
|
41
|
+
~$
|
42
|
+
|
43
|
+
$~callout
|
44
|
+
|
45
|
+
If you’re thinking about opening a packaged account, be sure to check out how many of the additional benefits you would actually use and whether you can get them cheaper elsewhere.
|
46
|
+
|
47
|
+
~$
|
48
|
+
|
49
|
+
$~callout
|
50
|
+
|
51
|
+
If you’re buying a home with someone else, you can both take advantage of
|
52
|
+
separate Lifetime ISAs.
|
53
|
+
|
54
|
+
~$
|
55
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
|
2
|
+
<iframe frameborder="0" height="413" width="680" src="https://www.youtube.com/embed/XZoc2Cv3BAE??rel=0" title="Video 1">
|
3
|
+
</iframe>
|
4
|
+
|
5
|
+
<iframe frameborder="0" height="413" width="680" src="https://www.youtube.com/embed/qv8RpXmXrh0??rel=0" title="Universal Credit - Online Budgeting Support">
|
6
|
+
</iframe>
|
7
|
+
|
8
|
+
<iframe frameborder="0" height="413" width="680" src="https://www.youtube.com/embed/2eVfzMFU9X4??rel=0" title="Top Tips To Save Hundreds On Your Food Bill">
|
9
|
+
</iframe>
|
10
|
+
|
11
|
+
<iframe frameborder="0" height="413" width="680" src="https://www.youtube.com/embed/U9Vkn_u-W1M??rel=0" title="How To Sell Online And Make Cash Quick">
|
12
|
+
</iframe>
|
13
|
+
|
14
|
+
<iframe frameborder="0" height="413" width="680" src="https://www.youtube.com/embed/Q1tVzEs9zoM??rel=0" title="How To Sell Online And Make Cash Quick 2">
|
15
|
+
</iframe>
|
16
|
+
|
17
|
+
<div class="callout callout--tip">
|
18
|
+
<span class="callout__icon" aria-hidden="true">?</span>
|
19
|
+
<p>If you’re thinking about opening a packaged account, be sure to check out how many of the additional benefits you would actually use and whether you can get them cheaper elsewhere.</p>
|
20
|
+
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="callout callout--tip">
|
24
|
+
<span class="callout__icon" aria-hidden="true">?</span>
|
25
|
+
<p>If you’re thinking about opening a packaged account, be sure to check out how many of the additional benefits you would actually use and whether you can get them cheaper elsewhere.</p>
|
26
|
+
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="callout callout--tip">
|
30
|
+
<span class="callout__icon" aria-hidden="true">?</span>
|
31
|
+
<p>If you’re buying a home with someone else, you can both take advantage of
|
32
|
+
separate Lifetime ISAs.</p>
|
33
|
+
|
34
|
+
</div>
|
35
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'Integration Tests' do
|
4
|
+
subject(:document) { Mastalk::Document.new(content) }
|
5
|
+
|
6
|
+
context 'when parsing duplicated snippets' do
|
7
|
+
let(:content) do
|
8
|
+
File.read(File.join('spec', 'fixtures', 'duplicated_snippets'))
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:expected_result) do
|
12
|
+
File.read(
|
13
|
+
File.join('spec', 'fixtures', 'expected_conversion_duplicated_snippets')
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'converts to html using the snippets' do
|
18
|
+
expect(document.to_html).to eq(expected_result)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Mastalk::Document do
|
4
|
-
|
5
4
|
context 'Without mastalk syntax' do
|
6
5
|
let(:context) { "###test\nwith markdown" }
|
7
6
|
let(:expected) { "<h3 id=\"test\">test</h3>\n<p>with markdown</p>\n" }
|
@@ -284,5 +283,4 @@ describe Mastalk::Document do
|
|
284
283
|
expect(subject.to_html).to eq(expected)
|
285
284
|
end
|
286
285
|
end
|
287
|
-
|
288
286
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mastalk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Douglas Roper
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-02-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: kramdown
|
@@ -17,20 +17,20 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.
|
20
|
+
version: '1.13'
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.
|
23
|
+
version: '1.13'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 1.
|
30
|
+
version: '1.13'
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: '1.13'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: htmlentities
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,7 +105,11 @@ files:
|
|
105
105
|
- Gemfile
|
106
106
|
- README.md
|
107
107
|
- Rakefile
|
108
|
+
- bin/markdown-libraries-benchmark
|
109
|
+
- bin/mastalk-benchmark
|
110
|
+
- bin/mastalk-profiling
|
108
111
|
- lib/mastalk.rb
|
112
|
+
- lib/mastalk/document.rb
|
109
113
|
- lib/mastalk/extensions.rb
|
110
114
|
- lib/mastalk/snippets/action_item.html.erb
|
111
115
|
- lib/mastalk/snippets/add_action.html.erb
|
@@ -130,7 +134,12 @@ files:
|
|
130
134
|
- lib/mastalk/snippets/youtube_video.html.erb
|
131
135
|
- lib/mastalk/snippets/youtube_video_legacy.html.erb
|
132
136
|
- mastalk.gemspec
|
133
|
-
-
|
137
|
+
- profiling_results/.gitkeep
|
138
|
+
- spec/fixtures/cms_page_content
|
139
|
+
- spec/fixtures/duplicated_snippets
|
140
|
+
- spec/fixtures/expected_conversion_duplicated_snippets
|
141
|
+
- spec/integration/conversion_spec.rb
|
142
|
+
- spec/mastalk/document_spec.rb
|
134
143
|
- spec/spec_helper.rb
|
135
144
|
homepage: https://github.com/moneyadviceservice/mastalk
|
136
145
|
licenses:
|