placepic 0.1.11 → 0.1.13

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: d0119a6e13e63eefa165970d2a1ec79a449b6250
4
- data.tar.gz: 75a61e6b1bb068cbcb3b1c31dfec48ac0e255e52
3
+ metadata.gz: 84baee86a7502766c0fbbd0b7a4b6692857aaa04
4
+ data.tar.gz: 14f9705faee7acac09f7473409f46b32956835f1
5
5
  SHA512:
6
- metadata.gz: 8e9b88340a5fb7f527db90f7b749ed5623a17c6c0ca0c6ebcfea0c340c9caadeb75499d1d845a5abdd0bc557c20e2817d6c28b733c5eb6e9a1f014d0fd795a73
7
- data.tar.gz: 908c37c39ba201e1a42df1b0c86ae487d337f63d71c13443c719bab52d37a8168e424ea2c0fde401e403eea5c7938393c0e826f523e0bf4ea4139e98da2d4075
6
+ metadata.gz: 79e390122e6b7c681ac7077c065914fa13ae6337df4a59e8350d12f01601153ce5b55b5c4bf6aa0072791617d7d15dbfef870dac731e9e56959813aafccb9e40
7
+ data.tar.gz: 627cc60307b96de9fc38bb282a4c62a0afb504abebc40ee04600926f165986fce13502df63bfcd422e91b261e2f1d25f2a7912331ee021bff7af982979b2554c
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /log/
data/Gemfile CHANGED
@@ -1,4 +1,17 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in placepic.gemspec
4
3
  gemspec
4
+ gem 'rails', '4.2.4'
5
+ gem "slim-rails"
6
+
7
+ group :development, :test do
8
+ gem 'byebug'
9
+ end
10
+
11
+ group :development do
12
+ gem "better_errors"
13
+ gem "binding_of_caller"
14
+ gem 'web-console', '~> 2.0'
15
+ gem 'spring'
16
+ end
17
+
data/README.md CHANGED
@@ -1,8 +1,43 @@
1
1
  # PlacePic
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/placepic`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ [![Gem Version](https://badge.fury.io/rb/placepic.svg)](http://badge.fury.io/rb/placepic)
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ PlacePic generates placeholder image tags and image urls for use whilst developing rails websites.
6
+
7
+ # Quickstart
8
+
9
+ ```ruby
10
+ placeholder_url
11
+ placeholder_url(width)
12
+ placeholder_url(width, height)
13
+ placeholder_url(width, height, site: site_name)
14
+ placeholder_url(width, height, style: style_code)
15
+ placeholder_url(width, height, site: site_name, style: style_code)
16
+ placeholder_tag
17
+ placeholder_tag(width)
18
+ placeholder_tag(width, height)
19
+ placeholder_tag(width, height, site: site_name)
20
+ placeholder_tag(width, height, style: style_code)
21
+ placeholder_tag(width, height, site: site_name, style: style_code)
22
+ ```
23
+
24
+ ####Options
25
+
26
+ | site | styles |
27
+ | --------------- | -------------------- |
28
+ | placebear | '', 'g', |
29
+ | stevensegallery | '', 'g', |
30
+ | fillmurray | '', 'g', |
31
+ | placecage | '', 'g', 'c', 'gif' |
32
+ | lorempixel | '', 'g', |
33
+
34
+ # Image Sources
35
+
36
+ * placebear.com
37
+ * stevensegallery.com
38
+ * fillmurray.com
39
+ * placecage.com
40
+ * lorempixel.com
6
41
 
7
42
  ## Installation
8
43
 
@@ -22,17 +57,69 @@ Or install it yourself as:
22
57
 
23
58
  ## Usage
24
59
 
25
- TODO: Write usage instructions here
60
+ ```ruby
61
+ 5.times { puts placeholder_url } # =>
62
+ # //placebear.com//100/100
63
+ # //stevensegallery.com//100/100
64
+ # //placecage.com/g/100/100
65
+ # //stevensegallery.com/g/100/100
66
+ # //lorempixel.com//100/100
67
+
68
+ # If you specify just a width, the height will be the same as the width
69
+ placeholder_url(150)
70
+ # => "//fillmurray.com//150/150"
71
+
72
+ # You can specify width and height separately.
73
+ placeholder_url(150, 250)
74
+ # => "//fillmurray.com//150/250"
75
+
76
+ # You acn specify the site to use from the list below. It will raise an error
77
+ # if you send an invalid site.
78
+ placeholder_url(150, 150, site: 'placecage')
79
+ # => "//placecage.com//150/150"
80
+ placeholder_url(150, 150, site: 'lorempixel')
81
+ # => "//lorempixel.com/g/150/150"
82
+ placeholder_url(150, 150, site: 'asd')
83
+ # => ArgumentError: Site not supported
84
+
85
+ # The style option will pick an appropriate placeholder site for the style
86
+ # you want. It'll raise an ArgumentError if you send a style that doesn't have
87
+ # a corresponding site.
88
+ placeholder_url(150, 150, style: 'g')
89
+ # => "//fillmurray.com/g/150/150"
90
+ placeholder_url(150, 150, style: 'c')
91
+ # => "//placecage.com/c/150/150"
92
+ placeholder_url(150, 150, style: 'p')
93
+ # => ArgumentError: No Supported Placeholder Site With This Style - Try g, c, or gif
94
+
95
+ # You can specify both style and site. Although if the combo doesn't exist, it'll
96
+ # raise an error
97
+ placeholder_url(150, 150, style: 'g', site: 'placecage')
98
+ # => "//placecage.com/g/150/150"
99
+ placeholder_url(150, 150, style: 'c', site: 'fillmurray')
100
+ # => ArgumentError: Style not supported by this site
101
+
102
+ # placeholder_tag generates an image_tag with the url generated from passing the
103
+ # given parameters through to placeholder_url
104
+ 5.times { puts placeholder_tag } # =>
105
+ # <img alt="placeholder-100x100" src="//stevensegallery.com//100/100" />
106
+ # <img alt="placeholder-100x100" src="//lorempixel.com//100/100" />
107
+ # <img alt="placeholder-100x100" src="//stevensegallery.com//100/100" />
108
+ # <img alt="placeholder-100x100" src="//fillmurray.com/g/100/100" />
109
+ # <img alt="placeholder-100x100" src="//placebear.com//100/100" />
110
+ ```
26
111
 
27
112
  ## Development
28
113
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
114
+ 1. bundle install
115
+ 2. rake spec
116
+ 3. 'rails c' to enter a rails console with the placepic gem loaded
30
117
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
118
+ To install this gem onto your local machine, run `bundle exec rake install`.
32
119
 
33
120
  ## Contributing
34
121
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/placepic. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
122
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Lockyy/placepic. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
36
123
 
37
124
 
38
125
  ## License
data/Rakefile CHANGED
@@ -1,6 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
4
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
7
+ require File.expand_path('../config/application', __FILE__)
5
8
 
6
9
  task :default => :spec
10
+ Rails.application.load_tasks
@@ -0,0 +1,5 @@
1
+ class ApplicationController < ActionController::Base
2
+ # Prevent CSRF attacks by raising an exception.
3
+ # For APIs, you may want to use :null_session instead.
4
+ protect_from_forgery with: :exception
5
+ end
File without changes
@@ -0,0 +1,6 @@
1
+ class TestController < ApplicationController
2
+
3
+ def show
4
+ end
5
+
6
+ end
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>App</title>
5
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <style>
12
+ .example {
13
+ min-width: 33%;
14
+ display: inline-table;
15
+ text-align: center;
16
+ }
17
+ </style>
18
+
19
+ <%= yield %>
20
+
21
+ </body>
22
+ </html>
@@ -0,0 +1,68 @@
1
+ .example
2
+ .function placeholder_tag
3
+ .image
4
+ = placeholder_tag
5
+
6
+ .example
7
+ .function placeholder_tag(200)
8
+ .image
9
+ = placeholder_tag(200)
10
+
11
+ .example
12
+ .function placeholder_tag(100, 200)
13
+ .image
14
+ = placeholder_tag(100, 200)
15
+
16
+ .example
17
+ .function placeholder_tag(700, 100)
18
+ .image
19
+ = placeholder_tag(700, 100)
20
+
21
+ - height = rand(100..200)
22
+ - width = rand(100..200)
23
+ .example
24
+ .function placeholder_tag(#{height}, #{width}, site: 'placecage')
25
+ .image
26
+ = placeholder_tag(height, width, site: 'placecage')
27
+
28
+ - height = rand(100..200)
29
+ - width = rand(100..200)
30
+ .example
31
+ .function placeholder_tag(#{height}, #{width}, site: 'lorempixel')
32
+ .image
33
+ = placeholder_tag(height, width, site: 'lorempixel')
34
+
35
+ - height = rand(100..200)
36
+ - width = rand(100..200)
37
+ .example
38
+ .function placeholder_tag(#{height}, #{width}, site: 'placebear')
39
+ .image
40
+ = placeholder_tag(height, width, site: 'placebear')
41
+
42
+ - height = rand(100..200)
43
+ - width = rand(100..200)
44
+ .example
45
+ .function placeholder_tag(#{height}, #{width}, style: 'gif')
46
+ .image
47
+ = placeholder_tag(height, width, style: 'gif')
48
+
49
+ - height = rand(100..200)
50
+ - width = rand(100..200)
51
+ .example
52
+ .function placeholder_tag(#{height}, #{width}, style: 'g')
53
+ .image
54
+ = placeholder_tag(height, width, style: 'g')
55
+
56
+ - height = rand(100..200)
57
+ - width = rand(100..200)
58
+ .example
59
+ .function placeholder_tag(#{height}, #{width}, style: 'c')
60
+ .image
61
+ = placeholder_tag(height, width, style: 'c')
62
+
63
+ - height = rand(100..200)
64
+ - width = rand(100..200)
65
+ .example
66
+ .function placeholder_tag(#{height}, #{width}, site: 'placebear', style: 'g')
67
+ .image
68
+ = placeholder_tag(height, width, site: 'placebear', style: 'g')
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ begin
3
+ load File.expand_path("../spring", __FILE__)
4
+ rescue LoadError
5
+ end
6
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
7
+ require_relative '../config/boot'
8
+ require 'rails/commands'
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ begin
3
+ load File.expand_path("../spring", __FILE__)
4
+ rescue LoadError
5
+ end
6
+ require_relative '../config/boot'
7
+ require 'rake'
8
+ Rake.application.run
data/bin/setup CHANGED
@@ -1,7 +1,29 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
4
3
 
5
- bundle install
4
+ # path to your application root.
5
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
6
 
7
- # Do any other automated setup that you need to do here
7
+ Dir.chdir APP_ROOT do
8
+ # This script is a starting point to setup your application.
9
+ # Add necessary setup steps to this file:
10
+
11
+ puts "== Installing dependencies =="
12
+ system "gem install bundler --conservative"
13
+ system "bundle check || bundle install"
14
+
15
+ # puts "\n== Copying sample files =="
16
+ # unless File.exist?("config/database.yml")
17
+ # system "cp config/database.yml.sample config/database.yml"
18
+ # end
19
+
20
+ puts "\n== Preparing database =="
21
+ system "bin/rake db:setup"
22
+
23
+ puts "\n== Removing old logs and tempfiles =="
24
+ system "rm -f log/*"
25
+ system "rm -rf tmp/cache"
26
+
27
+ puts "\n== Restarting application server =="
28
+ system "touch tmp/restart.txt"
29
+ end
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # This file loads spring without using Bundler, in order to be fast.
4
+ # It gets overwritten when you run the `spring binstub` command.
5
+
6
+ unless defined?(Spring)
7
+ require "rubygems"
8
+ require "bundler"
9
+
10
+ if match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m)
11
+ Gem.paths = { "GEM_PATH" => [Bundler.bundle_path.to_s, *Gem.path].uniq }
12
+ gem "spring", match[1]
13
+ require "spring/binstub"
14
+ end
15
+ end
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Rails.application
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require "action_controller/railtie"
4
+ require "action_mailer/railtie"
5
+ require "sprockets/railtie"
6
+ require "rails/test_unit/railtie"
7
+
8
+ # Require the gems listed in Gemfile, including any gems
9
+ # you've limited to :test, :development, or :production.
10
+ Bundler.require(*Rails.groups)
11
+
12
+ module App
13
+ class Application < Rails::Application
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2
+
3
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,38 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports and disable caching.
13
+ config.consider_all_requests_local = true
14
+ config.action_controller.perform_caching = false
15
+
16
+ # Don't care if the mailer can't send.
17
+ config.action_mailer.raise_delivery_errors = false
18
+
19
+ # Print deprecation notices to the Rails logger.
20
+ config.active_support.deprecation = :log
21
+
22
+ # Debug mode disables concatenation and preprocessing of assets.
23
+ # This option may cause significant delays in view rendering with a large
24
+ # number of complex assets.
25
+ config.assets.debug = true
26
+
27
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
28
+ # yet still be able to expire them through the digest params.
29
+ config.assets.digest = true
30
+
31
+ # Adds additional error checking when serving assets at runtime.
32
+ # Checks for improperly declared sprockets dependencies.
33
+ # Raises helpful error messages.
34
+ config.assets.raise_runtime_errors = true
35
+
36
+ # Raises error for missing translations
37
+ # config.action_view.raise_on_missing_translations = true
38
+ end
@@ -0,0 +1,42 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Do not eager load code on boot. This avoids loading your whole application
11
+ # just for the purpose of running a single test. If you are using a tool that
12
+ # preloads Rails for running tests, you may have to set it to true.
13
+ config.eager_load = false
14
+
15
+ # Configure static file server for tests with Cache-Control for performance.
16
+ config.serve_static_files = true
17
+ config.static_cache_control = 'public, max-age=3600'
18
+
19
+ # Show full error reports and disable caching.
20
+ config.consider_all_requests_local = true
21
+ config.action_controller.perform_caching = false
22
+
23
+ # Raise exceptions instead of rendering exception templates.
24
+ config.action_dispatch.show_exceptions = false
25
+
26
+ # Disable request forgery protection in test environment.
27
+ config.action_controller.allow_forgery_protection = false
28
+
29
+ # Tell Action Mailer not to deliver emails to the real world.
30
+ # The :test delivery method accumulates sent emails in the
31
+ # ActionMailer::Base.deliveries array.
32
+ config.action_mailer.delivery_method = :test
33
+
34
+ # Randomize the order test cases are executed.
35
+ config.active_support.test_order = :random
36
+
37
+ # Print deprecation notices to the stderr.
38
+ config.active_support.deprecation = :stderr
39
+
40
+ # Raises error for missing translations
41
+ # config.action_view.raise_on_missing_translations = true
42
+ end
@@ -0,0 +1,11 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Version of your assets, change this if you want to expire all your assets.
4
+ Rails.application.config.assets.version = '1.0'
5
+
6
+ # Add additional assets to the asset load path
7
+ # Rails.application.config.assets.paths << Emoji.images_path
8
+
9
+ # Precompile additional assets.
10
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
11
+ # Rails.application.config.assets.precompile += %w( search.js )
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Configure sensitive parameters which will be filtered from the log file.
4
+ Rails.application.config.filter_parameters += [:password]
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format. Inflections
4
+ # are locale specific, and you may define rules for as many different
5
+ # locales as you wish. All of these examples are active by default:
6
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
7
+ # inflect.plural /^(ox)$/i, '\1en'
8
+ # inflect.singular /^(ox)en/i, '\1'
9
+ # inflect.irregular 'person', 'people'
10
+ # inflect.uncountable %w( fish sheep )
11
+ # end
12
+
13
+ # These inflection rules are supported but not enabled by default:
14
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
15
+ # inflect.acronym 'RESTful'
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.session_store :cookie_store, key: '_app_session'
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9
+ end
10
+
11
+ # To enable root element in JSON for ActiveRecord objects.
12
+ # ActiveSupport.on_load(:active_record) do
13
+ # self.include_root_in_json = true
14
+ # end
@@ -0,0 +1,23 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # To learn more, please read the Rails Internationalization guide
20
+ # available at http://guides.rubyonrails.org/i18n.html.
21
+
22
+ en:
23
+ hello: "Hello world"
@@ -0,0 +1,5 @@
1
+ Rails.application.routes.draw do
2
+
3
+ get '/', to: 'test#show', as: :test
4
+
5
+ end
@@ -0,0 +1,22 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key is used for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+
6
+ # Make sure the secret is at least 30 characters and all random,
7
+ # no regular words or you'll be exposed to dictionary attacks.
8
+ # You can use `rake secret` to generate a secure secret key.
9
+
10
+ # Make sure the secrets in this file are kept private
11
+ # if you're sharing your code publicly.
12
+
13
+ development:
14
+ secret_key_base: f1c1731c3a2147f6e98f2aa47ded9b7cf2ef5fac5abd9ea34af4f5b519ce661dae1ef3e27fdd07d55168444a62f2f3b5a3b3f52eed6c8d1fee47aff6757da39a
15
+
16
+ test:
17
+ secret_key_base: 371e9cfa25177ae886de56a8e86678b08b58ba4e62a2e6602179e1b1bf52b4eaf7cd47a9ede81b25754827e4fb8c1a5e019842a671f723bb6e78ea5d6ced39e5
18
+
19
+ # Do not keep production secrets in the repository,
20
+ # instead read values from the environment.
21
+ production:
22
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -1,17 +1,30 @@
1
1
  module PlacePic
2
2
  module Placeholders
3
3
 
4
- def placeholder_tag(width, height, opts = {})
5
- image_url = placeholder_url(width, height, opts)
6
- tag_opts = opts.except(:style, :site)
4
+ def placeholder_tag(width = 100, height = nil, opts = {})
5
+ Placeholders.placeholder_tag(width, height, opts)
6
+ end
7
7
 
8
- image_tag(image_url, tag_opts)
8
+ def placeholder_url(width = 100, height = nil, opts = {})
9
+ Placeholders.placeholder_url(width, height, opts)
9
10
  end
10
11
 
11
- def placeholder_url(width, height, opts = {})
12
- url, style = PlacePic::Urls.url_and_style(opts)
12
+ class << self
13
+ def placeholder_tag(width = 100, height = nil, opts = {})
14
+ height = width unless height
15
+ image_url = placeholder_url(width, height, opts)
16
+ tag_opts = opts.except(:style, :site)
17
+ tag_opts[:alt] = "placeholder-#{width}x#{height}" unless tag_opts[:alt]
18
+
19
+ ActionController::Base.helpers.image_tag(image_url, tag_opts)
20
+ end
21
+
22
+ def placeholder_url(width = 100, height = nil, opts = {})
23
+ height = width unless height
24
+ url, style = PlacePic::Urls.url_and_style(opts)
13
25
 
14
- "//#{url}.com/#{style}/#{width}/#{height}"
26
+ "//#{url}.com/#{style}/#{width}/#{height}"
27
+ end
15
28
  end
16
29
  end
17
30
  end
@@ -2,9 +2,6 @@ module PlacePic
2
2
  class Urls
3
3
  class << self
4
4
  URLS = {
5
- 'baconmockup' => {
6
- styles: ['']
7
- },
8
5
  'placebear' => {
9
6
  styles: ['', 'g']
10
7
  },
@@ -30,11 +27,11 @@ module PlacePic
30
27
  # If the user asked for a specific URL then try and get them it.
31
28
  # If it doesn't exist, throw an error.
32
29
  if requested_url
33
- throw ArgumentError, 'URL not support' unless URLS.keys.include? requested_url
30
+ raise ArgumentError, 'Site not supported' unless URLS.keys.include? requested_url
34
31
  # If they also requested a style, try to get them it.
35
32
  # Throw an error if that url doesn't support that style
36
33
  if requested_style
37
- throw ArgumentError, 'Style not supported' unless URLS[requested_url][:styles].include? requested_style
34
+ raise ArgumentError, 'Style not supported by this site' unless URLS[requested_url][:styles].include? requested_style
38
35
  return [requested_url, requested_style]
39
36
  end
40
37
  return [requested_url, random_style_for_url(requested_url)]
@@ -54,10 +51,8 @@ module PlacePic
54
51
  url = urls.sample(1)[0]
55
52
 
56
53
  return url if url
57
- throw ArgumentError,
58
- %q(Invalid Style Sent -
59
- No Supported Placeholder Sites With This Style -
60
- Try g, c, or gif)
54
+ raise ArgumentError,
55
+ %q(No Supported Placeholder Site With This Style - Try g, c, or gif)
61
56
  end
62
57
 
63
58
  # Get a random service, and a random style for that service
@@ -1,3 +1,3 @@
1
1
  module PlacePic
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.13"
3
3
  end
@@ -9,9 +9,9 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Daniel Lockhart"]
10
10
  spec.email = ["daniel@lockyy.com"]
11
11
 
12
- spec.summary = %q{Generate a random placeholder image from various placeholder sites.}
12
+ spec.summary = %q{Generate a random placeholder image from various placeholder sites}
13
13
  spec.description = %q{Generate a random placeholder image url or tag from
14
- baconmockup, placebear, stevensegallery, fillmurray,
14
+ placebear, stevensegallery, fillmurray,
15
15
  placecage, or lorempixel.}
16
16
  spec.homepage = "https://github.com/Lockyy/PlacePic."
17
17
  spec.license = "MIT"
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: placepic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lockhart
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-05 00:00:00.000000000 Z
11
+ date: 2015-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  description: |-
56
56
  Generate a random placeholder image url or tag from
57
- baconmockup, placebear, stevensegallery, fillmurray,
57
+ placebear, stevensegallery, fillmurray,
58
58
  placecage, or lorempixel.
59
59
  email:
60
60
  - daniel@lockyy.com
@@ -70,13 +70,42 @@ files:
70
70
  - LICENSE.txt
71
71
  - README.md
72
72
  - Rakefile
73
+ - app/controllers/application_controller.rb
74
+ - app/controllers/concerns/.keep
75
+ - app/controllers/test_controller.rb
76
+ - app/views/layouts/application.html.erb
77
+ - app/views/test/show.html.slim
78
+ - bin/bundle
73
79
  - bin/console
80
+ - bin/rails
81
+ - bin/rake
74
82
  - bin/setup
83
+ - bin/spring
84
+ - config.ru
85
+ - config/application.rb
86
+ - config/boot.rb
87
+ - config/environment.rb
88
+ - config/environments/development.rb
89
+ - config/environments/test.rb
90
+ - config/initializers/assets.rb
91
+ - config/initializers/backtrace_silencers.rb
92
+ - config/initializers/cookies_serializer.rb
93
+ - config/initializers/filter_parameter_logging.rb
94
+ - config/initializers/inflections.rb
95
+ - config/initializers/mime_types.rb
96
+ - config/initializers/session_store.rb
97
+ - config/initializers/wrap_parameters.rb
98
+ - config/locales/en.yml
99
+ - config/routes.rb
100
+ - config/secrets.yml
75
101
  - lib/placepic.rb
76
102
  - lib/placepic/placeholders.rb
77
103
  - lib/placepic/urls.rb
78
104
  - lib/placepic/version.rb
79
105
  - placepic.gemspec
106
+ - public/404.html
107
+ - public/422.html
108
+ - public/500.html
80
109
  homepage: https://github.com/Lockyy/PlacePic.
81
110
  licenses:
82
111
  - MIT
@@ -100,5 +129,5 @@ rubyforge_project:
100
129
  rubygems_version: 2.4.8
101
130
  signing_key:
102
131
  specification_version: 4
103
- summary: Generate a random placeholder image from various placeholder sites.
132
+ summary: Generate a random placeholder image from various placeholder sites
104
133
  test_files: []