shortenizer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +23 -0
  4. data/app/assets/javascripts/shortenizer/application.js +28 -0
  5. data/app/assets/stylesheets/shortenizer/application.css +123 -0
  6. data/app/controllers/shortenizer/application_controller.rb +4 -0
  7. data/app/controllers/shortenizer/u_controller.rb +36 -0
  8. data/app/helpers/shortenizer/application_helper.rb +4 -0
  9. data/app/models/shortenizer/url.rb +19 -0
  10. data/app/presenters/shortenizer/url_presenter.rb +23 -0
  11. data/app/views/layouts/shortenizer/application.html.erb +19 -0
  12. data/app/views/shortenizer/u/new.html.erb +4 -0
  13. data/app/views/shortenizer/u/show.html.erb +7 -0
  14. data/config/routes.rb +8 -0
  15. data/db/migrate/20141015221054_add_shortenizer_urls_table.rb +8 -0
  16. data/lib/shortenizer.rb +4 -0
  17. data/lib/shortenizer/engine.rb +26 -0
  18. data/lib/shortenizer/mount_point.rb +13 -0
  19. data/lib/shortenizer/version.rb +3 -0
  20. data/lib/tasks/shortenizer_tasks.rake +4 -0
  21. data/spec/dummy/README.rdoc +28 -0
  22. data/spec/dummy/Rakefile +6 -0
  23. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  24. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  25. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  26. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  27. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  28. data/spec/dummy/bin/bundle +3 -0
  29. data/spec/dummy/bin/rails +4 -0
  30. data/spec/dummy/bin/rake +4 -0
  31. data/spec/dummy/config.ru +4 -0
  32. data/spec/dummy/config/application.rb +29 -0
  33. data/spec/dummy/config/boot.rb +5 -0
  34. data/spec/dummy/config/database.yml +25 -0
  35. data/spec/dummy/config/environment.rb +5 -0
  36. data/spec/dummy/config/environments/development.rb +37 -0
  37. data/spec/dummy/config/environments/production.rb +82 -0
  38. data/spec/dummy/config/environments/test.rb +39 -0
  39. data/spec/dummy/config/initializers/assets.rb +8 -0
  40. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  41. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  42. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  43. data/spec/dummy/config/initializers/inflections.rb +16 -0
  44. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  45. data/spec/dummy/config/initializers/session_store.rb +3 -0
  46. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  47. data/spec/dummy/config/locales/en.yml +23 -0
  48. data/spec/dummy/config/routes.rb +4 -0
  49. data/spec/dummy/config/secrets.yml +22 -0
  50. data/spec/dummy/db/development.sqlite3 +0 -0
  51. data/spec/dummy/db/schema.rb +21 -0
  52. data/spec/dummy/db/test.sqlite3 +0 -0
  53. data/spec/dummy/log/development.log +37724 -0
  54. data/spec/dummy/log/test.log +280 -0
  55. data/spec/dummy/public/404.html +67 -0
  56. data/spec/dummy/public/422.html +67 -0
  57. data/spec/dummy/public/500.html +66 -0
  58. data/spec/dummy/public/favicon.ico +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sprockets/0e145c8d9b7a337921cad6e2ac10daf0 +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sprockets/11cd522cee6431afd456e86bf23b3031 +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sprockets/143ca05c549c1126abdfc78e4d67b8fa +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sprockets/20271ea5ca35664532b622e5bb70f88c +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sprockets/2729c3a89e31f64cb31d0721f47afa32 +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sprockets/3b30147cb780a01beca487d79f0d77e2 +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sprockets/5717abda788abeec36709efb6ba01d38 +0 -0
  66. data/spec/dummy/tmp/cache/assets/development/sprockets/58a64848570974f113ccd648898d8b17 +0 -0
  67. data/spec/dummy/tmp/cache/assets/development/sprockets/6f127c6d3ff02ab7333529a682402528 +0 -0
  68. data/spec/dummy/tmp/cache/assets/development/sprockets/6f7d6444d8ecd290fc66fcd3cd678225 +0 -0
  69. data/spec/dummy/tmp/cache/assets/development/sprockets/737a1995fb8c894e2735c7266df2e7a6 +0 -0
  70. data/spec/dummy/tmp/cache/assets/development/sprockets/80975fe0bf6c19e4c0044b412114b5e2 +0 -0
  71. data/spec/dummy/tmp/cache/assets/development/sprockets/868252c279d2a5cc2ae71197271a0a9c +0 -0
  72. data/spec/dummy/tmp/cache/assets/development/sprockets/98afa9eb164be3902512f323968479b4 +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sprockets/a0de67fb651755110dd375bfab2c5272 +0 -0
  74. data/spec/dummy/tmp/cache/assets/development/sprockets/a1ddc0bf2ca692563c4dbfc805d2f617 +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sprockets/a483a47ea3543ee94c46303f1b49db5d +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sprockets/af1be136c22c7c7a9f6f94b2f78f3b33 +0 -0
  77. data/spec/dummy/tmp/cache/assets/development/sprockets/c7809fd0d1ecae831459b828e00dbbda +0 -0
  78. data/spec/dummy/tmp/cache/assets/development/sprockets/dfeb7b1afe25213579cffff6909e285f +0 -0
  79. data/spec/dummy/tmp/cache/assets/development/sprockets/e8521259ab5ca42adabc9f4e7fee338c +0 -0
  80. data/spec/dummy/tmp/cache/assets/development/sprockets/e9a511a12490493848aa5023b4946b2f +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sprockets/fd187d2066d9a8ad2ee217ea70baa138 +0 -0
  82. data/spec/models/shortenizer/url_spec.rb +23 -0
  83. data/spec/presenters/shortenizer/url_presenter_spec.rb +13 -0
  84. data/spec/rails_helper.rb +47 -0
  85. data/spec/spec_helper.rb +78 -0
  86. metadata +249 -0
File without changes
@@ -0,0 +1,23 @@
1
+ require 'rails_helper'
2
+
3
+ describe Shortenizer::Url do
4
+ describe '#append_https' do
5
+ it 'appends http if link does not begin with http' do
6
+ url = described_class.create(shortlink: '12345', target: 'yahoo.com')
7
+ url.reload
8
+
9
+ expect(url.target).to eq 'http://yahoo.com'
10
+ end
11
+ end
12
+
13
+ describe '#create_unique_identifier' do
14
+ it 'sets the url shortlink to a unique string' do
15
+ expect(SecureRandom).to receive(:hex).and_return "12345"
16
+ url = described_class.create(target: 'http://eftimov.net')
17
+ url.reload
18
+
19
+ expect(url.shortlink).to eq "12345"
20
+ end
21
+ end
22
+
23
+ end
@@ -0,0 +1,13 @@
1
+ require 'rails_helper'
2
+
3
+ describe Shortenizer::UrlPresenter do
4
+ before :each do
5
+ request = double(base_url: 'http://localhost:3000')
6
+ obj = Shortenizer::Url.create(target: 'yahoo.com')
7
+ @presenter = Shortenizer::UrlPresenter.new(obj, request)
8
+ end
9
+
10
+ it 'displays the full URL with the host of the app' do
11
+ expect(@presenter.full_url).to eq "http://localhost:3000/whatever/#{@presenter.shortlink}"
12
+ end
13
+ end
@@ -0,0 +1,47 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require 'spec_helper'
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require 'rspec/rails'
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Requires supporting ruby files with custom matchers and macros, etc, in
10
+ # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
11
+ # run as spec files by default. This means that files in spec/support that end
12
+ # in _spec.rb will both be required and run as specs, causing the specs to be
13
+ # run twice. It is recommended that you do not name files matching this glob to
14
+ # end with _spec.rb. You can configure this pattern with the --pattern
15
+ # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
16
+ Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
17
+
18
+ # Checks for pending migrations before tests are run.
19
+ # If you are not using ActiveRecord, you can remove this line.
20
+ ActiveRecord::Migration.maintain_test_schema!
21
+
22
+ RSpec.configure do |config|
23
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
24
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
25
+
26
+ config.mock_with :rspec
27
+
28
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
29
+ # examples within a transaction, remove the following line or assign false
30
+ # instead of true.
31
+ config.use_transactional_fixtures = true
32
+
33
+ # RSpec Rails can automatically mix in different behaviours to your tests
34
+ # based on their file location, for example enabling you to call `get` and
35
+ # `post` in specs under `spec/controllers`.
36
+ #
37
+ # You can disable this behaviour by removing the line below, and instead
38
+ # explicitly tag your specs with their type, e.g.:
39
+ #
40
+ # RSpec.describe UsersController, :type => :controller do
41
+ # # ...
42
+ # end
43
+ #
44
+ # The different available types are documented in the features, such as in
45
+ # https://relishapp.com/rspec/rspec-rails/docs
46
+ config.infer_spec_type_from_file_location!
47
+ end
@@ -0,0 +1,78 @@
1
+ # This file was generated by the `rails generate rspec:install` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # The generated `.rspec` file contains `--require spec_helper` which will cause this
4
+ # file to always be loaded, without a need to explicitly require it in any files.
5
+ #
6
+ # Given that it is always loaded, you are encouraged to keep this file as
7
+ # light-weight as possible. Requiring heavyweight dependencies from this file
8
+ # will add to the boot time of your test suite on EVERY test run, even for an
9
+ # individual file that may not need all of that loaded. Instead, make a
10
+ # separate helper file that requires this one and then use it only in the specs
11
+ # that actually need it.
12
+ #
13
+ # The `.rspec` file also contains a few flags that are not defaults but that
14
+ # users commonly want.
15
+ #
16
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
17
+ RSpec.configure do |config|
18
+ # The settings below are suggested to provide a good initial experience
19
+ # with RSpec, but feel free to customize to your heart's content.
20
+ =begin
21
+ # These two settings work together to allow you to limit a spec run
22
+ # to individual examples or groups you care about by tagging them with
23
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
24
+ # get run.
25
+ config.filter_run :focus
26
+ config.run_all_when_everything_filtered = true
27
+
28
+ # Many RSpec users commonly either run the entire suite or an individual
29
+ # file, and it's useful to allow more verbose output when running an
30
+ # individual spec file.
31
+ if config.files_to_run.one?
32
+ # Use the documentation formatter for detailed output,
33
+ # unless a formatter has already been configured
34
+ # (e.g. via a command-line flag).
35
+ config.default_formatter = 'doc'
36
+ end
37
+
38
+ # Print the 10 slowest examples and example groups at the
39
+ # end of the spec run, to help surface which specs are running
40
+ # particularly slow.
41
+ config.profile_examples = 10
42
+
43
+ # Run specs in random order to surface order dependencies. If you find an
44
+ # order dependency and want to debug it, you can fix the order by providing
45
+ # the seed, which is printed after each run.
46
+ # --seed 1234
47
+ config.order = :random
48
+
49
+ # Seed global randomization in this process using the `--seed` CLI option.
50
+ # Setting this allows you to use `--seed` to deterministically reproduce
51
+ # test failures related to randomization by passing the same `--seed` value
52
+ # as the one that triggered the failure.
53
+ Kernel.srand config.seed
54
+
55
+ # rspec-expectations config goes here. You can use an alternate
56
+ # assertion/expectation library such as wrong or the stdlib/minitest
57
+ # assertions if you prefer.
58
+ config.expect_with :rspec do |expectations|
59
+ # Enable only the newer, non-monkey-patching expect syntax.
60
+ # For more details, see:
61
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
62
+ expectations.syntax = :expect
63
+ end
64
+
65
+ # rspec-mocks config goes here. You can use an alternate test double
66
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
67
+ config.mock_with :rspec do |mocks|
68
+ # Enable only the newer, non-monkey-patching expect syntax.
69
+ # For more details, see:
70
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
71
+ mocks.syntax = :expect
72
+
73
+ # Prevents you from mocking or stubbing a method that does not exist on
74
+ # a real object. This is generally recommended.
75
+ mocks.verify_partial_doubles = true
76
+ end
77
+ =end
78
+ end
metadata ADDED
@@ -0,0 +1,249 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shortenizer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ile Eftimov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 4.1.5
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 4.1.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: jquery-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: zeroclipboard-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sqlite3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Easily shortnen links with your Rails application.
70
+ email:
71
+ - ileeftimov@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - app/assets/javascripts/shortenizer/application.js
77
+ - app/assets/stylesheets/shortenizer/application.css
78
+ - app/controllers/shortenizer/application_controller.rb
79
+ - app/controllers/shortenizer/u_controller.rb
80
+ - app/helpers/shortenizer/application_helper.rb
81
+ - app/models/shortenizer/url.rb
82
+ - app/presenters/shortenizer/url_presenter.rb
83
+ - app/views/layouts/shortenizer/application.html.erb
84
+ - app/views/shortenizer/u/new.html.erb
85
+ - app/views/shortenizer/u/show.html.erb
86
+ - config/routes.rb
87
+ - db/migrate/20141015221054_add_shortenizer_urls_table.rb
88
+ - lib/shortenizer/engine.rb
89
+ - lib/shortenizer/mount_point.rb
90
+ - lib/shortenizer/version.rb
91
+ - lib/shortenizer.rb
92
+ - lib/tasks/shortenizer_tasks.rake
93
+ - MIT-LICENSE
94
+ - Rakefile
95
+ - spec/dummy/app/assets/javascripts/application.js
96
+ - spec/dummy/app/assets/stylesheets/application.css
97
+ - spec/dummy/app/controllers/application_controller.rb
98
+ - spec/dummy/app/helpers/application_helper.rb
99
+ - spec/dummy/app/views/layouts/application.html.erb
100
+ - spec/dummy/bin/bundle
101
+ - spec/dummy/bin/rails
102
+ - spec/dummy/bin/rake
103
+ - spec/dummy/config/application.rb
104
+ - spec/dummy/config/boot.rb
105
+ - spec/dummy/config/database.yml
106
+ - spec/dummy/config/environment.rb
107
+ - spec/dummy/config/environments/development.rb
108
+ - spec/dummy/config/environments/production.rb
109
+ - spec/dummy/config/environments/test.rb
110
+ - spec/dummy/config/initializers/assets.rb
111
+ - spec/dummy/config/initializers/backtrace_silencers.rb
112
+ - spec/dummy/config/initializers/cookies_serializer.rb
113
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
114
+ - spec/dummy/config/initializers/inflections.rb
115
+ - spec/dummy/config/initializers/mime_types.rb
116
+ - spec/dummy/config/initializers/session_store.rb
117
+ - spec/dummy/config/initializers/wrap_parameters.rb
118
+ - spec/dummy/config/locales/en.yml
119
+ - spec/dummy/config/routes.rb
120
+ - spec/dummy/config/secrets.yml
121
+ - spec/dummy/config.ru
122
+ - spec/dummy/db/development.sqlite3
123
+ - spec/dummy/db/schema.rb
124
+ - spec/dummy/db/test.sqlite3
125
+ - spec/dummy/log/development.log
126
+ - spec/dummy/log/test.log
127
+ - spec/dummy/public/404.html
128
+ - spec/dummy/public/422.html
129
+ - spec/dummy/public/500.html
130
+ - spec/dummy/public/favicon.ico
131
+ - spec/dummy/Rakefile
132
+ - spec/dummy/README.rdoc
133
+ - spec/dummy/tmp/cache/assets/development/sprockets/0e145c8d9b7a337921cad6e2ac10daf0
134
+ - spec/dummy/tmp/cache/assets/development/sprockets/11cd522cee6431afd456e86bf23b3031
135
+ - spec/dummy/tmp/cache/assets/development/sprockets/143ca05c549c1126abdfc78e4d67b8fa
136
+ - spec/dummy/tmp/cache/assets/development/sprockets/20271ea5ca35664532b622e5bb70f88c
137
+ - spec/dummy/tmp/cache/assets/development/sprockets/2729c3a89e31f64cb31d0721f47afa32
138
+ - spec/dummy/tmp/cache/assets/development/sprockets/3b30147cb780a01beca487d79f0d77e2
139
+ - spec/dummy/tmp/cache/assets/development/sprockets/5717abda788abeec36709efb6ba01d38
140
+ - spec/dummy/tmp/cache/assets/development/sprockets/58a64848570974f113ccd648898d8b17
141
+ - spec/dummy/tmp/cache/assets/development/sprockets/6f127c6d3ff02ab7333529a682402528
142
+ - spec/dummy/tmp/cache/assets/development/sprockets/6f7d6444d8ecd290fc66fcd3cd678225
143
+ - spec/dummy/tmp/cache/assets/development/sprockets/737a1995fb8c894e2735c7266df2e7a6
144
+ - spec/dummy/tmp/cache/assets/development/sprockets/80975fe0bf6c19e4c0044b412114b5e2
145
+ - spec/dummy/tmp/cache/assets/development/sprockets/868252c279d2a5cc2ae71197271a0a9c
146
+ - spec/dummy/tmp/cache/assets/development/sprockets/98afa9eb164be3902512f323968479b4
147
+ - spec/dummy/tmp/cache/assets/development/sprockets/a0de67fb651755110dd375bfab2c5272
148
+ - spec/dummy/tmp/cache/assets/development/sprockets/a1ddc0bf2ca692563c4dbfc805d2f617
149
+ - spec/dummy/tmp/cache/assets/development/sprockets/a483a47ea3543ee94c46303f1b49db5d
150
+ - spec/dummy/tmp/cache/assets/development/sprockets/af1be136c22c7c7a9f6f94b2f78f3b33
151
+ - spec/dummy/tmp/cache/assets/development/sprockets/c7809fd0d1ecae831459b828e00dbbda
152
+ - spec/dummy/tmp/cache/assets/development/sprockets/dfeb7b1afe25213579cffff6909e285f
153
+ - spec/dummy/tmp/cache/assets/development/sprockets/e8521259ab5ca42adabc9f4e7fee338c
154
+ - spec/dummy/tmp/cache/assets/development/sprockets/e9a511a12490493848aa5023b4946b2f
155
+ - spec/dummy/tmp/cache/assets/development/sprockets/fd187d2066d9a8ad2ee217ea70baa138
156
+ - spec/models/shortenizer/url_spec.rb
157
+ - spec/presenters/shortenizer/url_presenter_spec.rb
158
+ - spec/rails_helper.rb
159
+ - spec/spec_helper.rb
160
+ homepage: https://github.com/fteem/shortenizer
161
+ licenses:
162
+ - MIT
163
+ metadata: {}
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ requirements: []
179
+ rubyforge_project:
180
+ rubygems_version: 2.0.14
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: Mountable URL shortener for your Rails app.
184
+ test_files:
185
+ - spec/dummy/app/assets/javascripts/application.js
186
+ - spec/dummy/app/assets/stylesheets/application.css
187
+ - spec/dummy/app/controllers/application_controller.rb
188
+ - spec/dummy/app/helpers/application_helper.rb
189
+ - spec/dummy/app/views/layouts/application.html.erb
190
+ - spec/dummy/bin/bundle
191
+ - spec/dummy/bin/rails
192
+ - spec/dummy/bin/rake
193
+ - spec/dummy/config/application.rb
194
+ - spec/dummy/config/boot.rb
195
+ - spec/dummy/config/database.yml
196
+ - spec/dummy/config/environment.rb
197
+ - spec/dummy/config/environments/development.rb
198
+ - spec/dummy/config/environments/production.rb
199
+ - spec/dummy/config/environments/test.rb
200
+ - spec/dummy/config/initializers/assets.rb
201
+ - spec/dummy/config/initializers/backtrace_silencers.rb
202
+ - spec/dummy/config/initializers/cookies_serializer.rb
203
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
204
+ - spec/dummy/config/initializers/inflections.rb
205
+ - spec/dummy/config/initializers/mime_types.rb
206
+ - spec/dummy/config/initializers/session_store.rb
207
+ - spec/dummy/config/initializers/wrap_parameters.rb
208
+ - spec/dummy/config/locales/en.yml
209
+ - spec/dummy/config/routes.rb
210
+ - spec/dummy/config/secrets.yml
211
+ - spec/dummy/config.ru
212
+ - spec/dummy/db/development.sqlite3
213
+ - spec/dummy/db/schema.rb
214
+ - spec/dummy/db/test.sqlite3
215
+ - spec/dummy/log/development.log
216
+ - spec/dummy/log/test.log
217
+ - spec/dummy/public/404.html
218
+ - spec/dummy/public/422.html
219
+ - spec/dummy/public/500.html
220
+ - spec/dummy/public/favicon.ico
221
+ - spec/dummy/Rakefile
222
+ - spec/dummy/README.rdoc
223
+ - spec/dummy/tmp/cache/assets/development/sprockets/0e145c8d9b7a337921cad6e2ac10daf0
224
+ - spec/dummy/tmp/cache/assets/development/sprockets/11cd522cee6431afd456e86bf23b3031
225
+ - spec/dummy/tmp/cache/assets/development/sprockets/143ca05c549c1126abdfc78e4d67b8fa
226
+ - spec/dummy/tmp/cache/assets/development/sprockets/20271ea5ca35664532b622e5bb70f88c
227
+ - spec/dummy/tmp/cache/assets/development/sprockets/2729c3a89e31f64cb31d0721f47afa32
228
+ - spec/dummy/tmp/cache/assets/development/sprockets/3b30147cb780a01beca487d79f0d77e2
229
+ - spec/dummy/tmp/cache/assets/development/sprockets/5717abda788abeec36709efb6ba01d38
230
+ - spec/dummy/tmp/cache/assets/development/sprockets/58a64848570974f113ccd648898d8b17
231
+ - spec/dummy/tmp/cache/assets/development/sprockets/6f127c6d3ff02ab7333529a682402528
232
+ - spec/dummy/tmp/cache/assets/development/sprockets/6f7d6444d8ecd290fc66fcd3cd678225
233
+ - spec/dummy/tmp/cache/assets/development/sprockets/737a1995fb8c894e2735c7266df2e7a6
234
+ - spec/dummy/tmp/cache/assets/development/sprockets/80975fe0bf6c19e4c0044b412114b5e2
235
+ - spec/dummy/tmp/cache/assets/development/sprockets/868252c279d2a5cc2ae71197271a0a9c
236
+ - spec/dummy/tmp/cache/assets/development/sprockets/98afa9eb164be3902512f323968479b4
237
+ - spec/dummy/tmp/cache/assets/development/sprockets/a0de67fb651755110dd375bfab2c5272
238
+ - spec/dummy/tmp/cache/assets/development/sprockets/a1ddc0bf2ca692563c4dbfc805d2f617
239
+ - spec/dummy/tmp/cache/assets/development/sprockets/a483a47ea3543ee94c46303f1b49db5d
240
+ - spec/dummy/tmp/cache/assets/development/sprockets/af1be136c22c7c7a9f6f94b2f78f3b33
241
+ - spec/dummy/tmp/cache/assets/development/sprockets/c7809fd0d1ecae831459b828e00dbbda
242
+ - spec/dummy/tmp/cache/assets/development/sprockets/dfeb7b1afe25213579cffff6909e285f
243
+ - spec/dummy/tmp/cache/assets/development/sprockets/e8521259ab5ca42adabc9f4e7fee338c
244
+ - spec/dummy/tmp/cache/assets/development/sprockets/e9a511a12490493848aa5023b4946b2f
245
+ - spec/dummy/tmp/cache/assets/development/sprockets/fd187d2066d9a8ad2ee217ea70baa138
246
+ - spec/models/shortenizer/url_spec.rb
247
+ - spec/presenters/shortenizer/url_presenter_spec.rb
248
+ - spec/rails_helper.rb
249
+ - spec/spec_helper.rb