make_gallery 0.1.2
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 +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +32 -0
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +73 -0
- data/Rakefile +7 -0
- data/bin/console +6 -0
- data/bin/setup +7 -0
- data/exe/make_gallery +5 -0
- data/lib/make_gallery/command.rb +142 -0
- data/lib/make_gallery/version.rb +3 -0
- data/lib/make_gallery.rb +66 -0
- data/make_gallery.gemspec +28 -0
- metadata +160 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 73a420c6d379b22fae3b4320a397324c1a7e9cba
|
4
|
+
data.tar.gz: 3bf62a77bddd091ca3d93dfd2baadffd2505ec99
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9b9d88b28024fc62202cd4e178120734999d2ea83853e6fdd5a2faa88f831b0dc2655a09fdbd8feb03ef4e03eb03b8c4f717178ec38f821c1f82f208009ae3bc
|
7
|
+
data.tar.gz: b976924eb22534315f2ba0e0ec807f3255a84d4d575fa6c5cb9ff01457ecb51b5f32759f19c7c82abd5cb0b3f307474a2fc2f15f60f3b4b7c3cb30af8d9bcaa7
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, we pledge to respect
|
4
|
+
all people who contribute through reporting issues, posting feature
|
5
|
+
requests, updating documentation, submitting pull requests or patches,
|
6
|
+
and other activities.
|
7
|
+
|
8
|
+
We are committed to making participation in this project a
|
9
|
+
harassment-free experience for everyone, regardless of level of
|
10
|
+
experience, gender, gender identity and expression, sexual
|
11
|
+
orientation, disability, personal appearance, body size, race, age, or
|
12
|
+
religion.
|
13
|
+
|
14
|
+
Examples of unacceptable behavior by participants include the use of
|
15
|
+
sexual language or imagery, derogatory comments or personal attacks,
|
16
|
+
trolling, public or private harassment, insults, or other
|
17
|
+
unprofessional conduct.
|
18
|
+
|
19
|
+
Project maintainers have the right and responsibility to remove, edit,
|
20
|
+
or reject comments, commits, code, wiki edits, issues, and other
|
21
|
+
contributions that are not aligned to this Code of Conduct. Project
|
22
|
+
maintainers who do not follow the Code of Conduct may be removed from
|
23
|
+
the project team.
|
24
|
+
|
25
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior
|
26
|
+
may be reported by opening an issue or contacting one or more of the
|
27
|
+
project maintainers.
|
28
|
+
|
29
|
+
This Code of Conduct is adapted from the
|
30
|
+
[Contributor Covenant](http:contributor-covenant.org), version 1.0.0,
|
31
|
+
available at
|
32
|
+
[http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Guidelines for Contributing
|
2
|
+
|
3
|
+
Read the [Code of Conduct](CODE_OF_CONDUCT.md) and agree to follow
|
4
|
+
it.
|
5
|
+
|
6
|
+
Use the GitHub [Issues]() tool to report any issues, ask questions,
|
7
|
+
get help, etc.
|
8
|
+
|
9
|
+
Create extra documentation in the project [Wiki]() on GitHub.
|
10
|
+
|
11
|
+
Write missing tests.
|
12
|
+
|
13
|
+
Add great new features.
|
14
|
+
|
15
|
+
Tell me how you use it.
|
16
|
+
|
17
|
+
Share it.
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2015 Tamara Temple
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# MakeGallery
|
2
|
+
|
3
|
+
I like to show several pictures in some of my blog posts as a gallery
|
4
|
+
of sorts, with square thumbnails that link to the web-sized images.
|
5
|
+
|
6
|
+
I found a nifty one-line bash command that uses ImageMagick to
|
7
|
+
automate part of this process:
|
8
|
+
|
9
|
+
``` bash
|
10
|
+
#!/bin/bash
|
11
|
+
|
12
|
+
set -xv
|
13
|
+
|
14
|
+
: ${THUMBSIZE:=200}
|
15
|
+
: ${THUMBNAIL:=${THUMBSIZE}x${THUMBSIZE}}
|
16
|
+
|
17
|
+
mkdir -p thumbs
|
18
|
+
mogrify -format gif -path thumbs -thumbnail ${THUMBNAIL}^ -gravity center -extent ${THUMBNAIL} *.jpg
|
19
|
+
```
|
20
|
+
|
21
|
+
which creates small-ish .gif thumbnails in a `thumbs/` subdirectory.
|
22
|
+
|
23
|
+
In addition, I want to create web-scale .jpgs in a `web/` subdirectory
|
24
|
+
(mid-quality 1024 pixels wide).
|
25
|
+
|
26
|
+
## Installation
|
27
|
+
|
28
|
+
Or install it yourself as:
|
29
|
+
|
30
|
+
$ gem install make_gallery
|
31
|
+
|
32
|
+
## Usage
|
33
|
+
|
34
|
+
$ make_gallery (thumbs | web) [--source DIR] [--target DIR] [--size SIZE] [--format FORMAT] [--force] [--verbose] [--debug]
|
35
|
+
|
36
|
+
* **thumbs:** create (square) thumbnails
|
37
|
+
* **web:** create web-sized images (maintains aspect ratio)
|
38
|
+
* *source:* the directory to take starting images from (default is current directory)
|
39
|
+
* *target:* the directory to write to (default is `./thumbs/` or `./web/`)
|
40
|
+
* *size:* horizontal size for web images, side size for thumbs
|
41
|
+
* *format:* JPG for web images, GIF for thumbs
|
42
|
+
* *force:* overwrite (default is abort if directory already exists)
|
43
|
+
* *verbose:* be chatty
|
44
|
+
* *debug:* be SUPER chatty about a lot of things
|
45
|
+
|
46
|
+
## Development
|
47
|
+
|
48
|
+
After checking out the repo, run `bin/setup` to install
|
49
|
+
dependencies. Then, run `bin/console` for an interactive prompt that
|
50
|
+
will allow you to experiment. Run `bundle exec make_gallery` to use
|
51
|
+
the code located in this directory, ignoring other installed copies of
|
52
|
+
this gem.
|
53
|
+
|
54
|
+
To install this gem onto your local machine, run `bundle exec rake
|
55
|
+
install`. To release a new version, update the version number in
|
56
|
+
`version.rb`, and then run `bundle exec rake release` to create a git
|
57
|
+
tag for the version, push git commits and tags, and push the `.gem`
|
58
|
+
file to [rubygems.org](https://rubygems.org).
|
59
|
+
|
60
|
+
## Contributing
|
61
|
+
|
62
|
+
Review the [Guidelines](CONTRIBUTING.md) for any information on how to contribute to this tool.
|
63
|
+
|
64
|
+
Make sure to also read the [Code of Conduct](CODE_OF_CONDUCT.md) if you wish to contribute.
|
65
|
+
|
66
|
+
1. Fork it ( https://github.com/tamouse/make_gallery/fork )
|
67
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
68
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
69
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
70
|
+
5. Create a new Pull Request
|
71
|
+
|
72
|
+
*"fork in, branch it, commit it, push it." -- daft punking our way through open source!*
|
73
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
data/bin/setup
ADDED
data/exe/make_gallery
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
require 'fattr'
|
2
|
+
require 'highline'
|
3
|
+
|
4
|
+
module MakeGallery
|
5
|
+
class Command
|
6
|
+
|
7
|
+
OUTLOG = HighLine.new($stdin, $stdout)
|
8
|
+
ERRLOG = HighLine.new($stdin, $stderr)
|
9
|
+
|
10
|
+
FATTRS = %w[action source target size format quality force verbose debug dry_run mogrify_path]
|
11
|
+
|
12
|
+
fattrs *FATTRS
|
13
|
+
|
14
|
+
def fattrs
|
15
|
+
self.class.fattrs
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
def initialize(action, options)
|
20
|
+
action(action)
|
21
|
+
|
22
|
+
options.each do |k, v|
|
23
|
+
public_send k, v
|
24
|
+
end
|
25
|
+
|
26
|
+
if debug
|
27
|
+
fattrs.each do |attr|
|
28
|
+
a = ERRLOG.color(attr, :cyan, :on_black)
|
29
|
+
b = ERRLOG.color(public_send(attr).inspect, :white, :on_black)
|
30
|
+
ERRLOG.say("DEBUG: #{a}: #{b}")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
fatal_say("#{target} exists. Use --force to overwrite") if File.exists?(target) && ! force
|
35
|
+
end
|
36
|
+
|
37
|
+
def to_h
|
38
|
+
fattrs.inject({}) {|hash, attr| hash.update attr => public_send(attr) }
|
39
|
+
end
|
40
|
+
|
41
|
+
def process_images
|
42
|
+
say("Creating #{action} images in #{source} to #{target}\n", :green)
|
43
|
+
|
44
|
+
FileUtils.mkdir_p(target) unless dry_run
|
45
|
+
|
46
|
+
cmd = build_command.join(" ")
|
47
|
+
say("\nRunning: #{cmd}", :green)
|
48
|
+
|
49
|
+
# skip the rest if it's a dry run
|
50
|
+
unless dry_run
|
51
|
+
o, e, s = Open3.capture3(cmd)
|
52
|
+
fatal e unless s.success?
|
53
|
+
say("\nOutput:\n", :green)
|
54
|
+
say(o, :cyan)
|
55
|
+
say(e, :cyan)
|
56
|
+
say("\n")
|
57
|
+
end
|
58
|
+
|
59
|
+
say("\nCompleted\n", :green)
|
60
|
+
end
|
61
|
+
|
62
|
+
def build_command
|
63
|
+
mogrify = locate_mogrify
|
64
|
+
cmd_opts = set_mogrify_options
|
65
|
+
source_images = select_source_images
|
66
|
+
[mogrify, cmd_opts, source_images].flatten.tap do |t|
|
67
|
+
debug_say("Command: #{t.inspect}")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
def locate_mogrify
|
73
|
+
if mogrify_path
|
74
|
+
fatal_say("Path given for mogrify command is wrong") unless File.exist?(mogrify_path)
|
75
|
+
mogrify = mogrify_path
|
76
|
+
else
|
77
|
+
mogrify = %x(which mogrify).chomp
|
78
|
+
fatal_say("Cannot find mogrify command. Use --mogrify_path option instead") unless File.exist?(mogrify)
|
79
|
+
end
|
80
|
+
debug_say("mogrify command: #{mogrify.inspect}")
|
81
|
+
mogrify
|
82
|
+
end
|
83
|
+
|
84
|
+
def set_mogrify_options
|
85
|
+
cmd_opts = []
|
86
|
+
cmd_opts << "-verbose" if verbose
|
87
|
+
cmd_opts << "-format #{format}"
|
88
|
+
cmd_opts << "-path #{target}"
|
89
|
+
cmd_opts << "-quality #{quality}"
|
90
|
+
|
91
|
+
if action == :thumbs
|
92
|
+
geometry = [size, size].join("x")
|
93
|
+
cmd_opts << "-thumbnail #{geometry}^"
|
94
|
+
cmd_opts << "-gravity center"
|
95
|
+
cmd_opts << "-extent #{geometry}"
|
96
|
+
elsif action == :web
|
97
|
+
cmd_opts << "-resize #{size}"
|
98
|
+
end
|
99
|
+
|
100
|
+
debug_say "command opts: #{cmd_opts.inspect}"
|
101
|
+
cmd_opts
|
102
|
+
end
|
103
|
+
|
104
|
+
def select_source_images
|
105
|
+
debug_say "source: #{source}"
|
106
|
+
debug_say "source files: #{Dir[File.join(source,'*')]}"
|
107
|
+
source_images = Dir[File.join(source,'*')].grep(/jpe?g|png|gif/i)
|
108
|
+
debug_say "source images: #{source_images.inspect}"
|
109
|
+
fatal_say("No images found in #{source}!") if source_images.empty?
|
110
|
+
source_images
|
111
|
+
end
|
112
|
+
|
113
|
+
def say(m, *colors)
|
114
|
+
if colors.empty?
|
115
|
+
colors = [:red, :on_black, :bold]
|
116
|
+
end
|
117
|
+
|
118
|
+
m = OUTLOG.color(m, *colors)
|
119
|
+
OUTLOG.say(m) if verbose
|
120
|
+
end
|
121
|
+
|
122
|
+
def fatal_say(m, *colors)
|
123
|
+
if colors.empty?
|
124
|
+
colors = [:red, :on_black, :bold]
|
125
|
+
end
|
126
|
+
|
127
|
+
m = ERRLOG.color(m, *colors)
|
128
|
+
ERRLOG.say("FATAL: #{m}")
|
129
|
+
|
130
|
+
raise MakeGallery::Exception.new(m)
|
131
|
+
end
|
132
|
+
|
133
|
+
def debug_say(m, *colors)
|
134
|
+
if colors.empty?
|
135
|
+
colors = [:yellow, :on_black, :bold]
|
136
|
+
end
|
137
|
+
|
138
|
+
m = ERRLOG.color(m, *colors)
|
139
|
+
ERRLOG.say("DEBUG: #{m}") if debug
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
data/lib/make_gallery.rb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
require "thor"
|
2
|
+
require "fileutils"
|
3
|
+
require "open3"
|
4
|
+
require "make_gallery/command"
|
5
|
+
|
6
|
+
module MakeGallery
|
7
|
+
class Exception < RuntimeError; end
|
8
|
+
|
9
|
+
class Thor < Thor
|
10
|
+
|
11
|
+
include Thor::Actions
|
12
|
+
|
13
|
+
class_option(:force, type: :boolean, aliases: %w[-F], default: false,
|
14
|
+
desc: "overwrite if directory or files exist")
|
15
|
+
class_option(:verbose, type: :boolean, aliases: %w[-V], default: false,
|
16
|
+
desc: "be chatty")
|
17
|
+
class_option(:debug, type: :boolean, aliases: %w[-D], default: false,
|
18
|
+
desc: "be even *more* chatty")
|
19
|
+
class_option(:dry_run, type: :boolean, aliases: %w[-n], default: false,
|
20
|
+
desc: "Dry run, just show would happen, but do not do it")
|
21
|
+
class_option(:mogrify_path, type: :string,
|
22
|
+
desc: "path to mogrify command if make_gallery cannot find it")
|
23
|
+
|
24
|
+
|
25
|
+
desc "thumbs", "Make small, square thumbnails of images in the source directory, saving them in the target directory."
|
26
|
+
method_option(:source, type: :string, aliases: %w[-s], default: ".",
|
27
|
+
desc: "source directory for images",
|
28
|
+
banner: "DIR")
|
29
|
+
method_option(:target, type: :string, aliases: %w[-t], default: "./thumbs/",
|
30
|
+
desc: "destination directory for thumbnails",
|
31
|
+
banner: "DIR")
|
32
|
+
method_option(:size, type: :numeric, aliases: %w[-w], default: 200,
|
33
|
+
desc: "height and width in pixels")
|
34
|
+
method_option(:format, type: :string, aliases: %w[-f], default: "gif",
|
35
|
+
desc: "format of thumbnail")
|
36
|
+
method_option(:quality, type: :numeric, aliases: %w[-q], default: 60,
|
37
|
+
desc: "quality of image")
|
38
|
+
def thumbs
|
39
|
+
MakeGallery::Command.new(:thumbs, options).process_images
|
40
|
+
rescue MakeGallery::Exception => e
|
41
|
+
return e.to_s
|
42
|
+
end
|
43
|
+
|
44
|
+
desc "web", "Make web-sized images of the images in the source directory, saving them in the target directory. The new images retain the same aspect ratio as the source images."
|
45
|
+
method_option(:source, type: :string, aliases: %w[-s], default: ".",
|
46
|
+
desc: "source directory for images",
|
47
|
+
banner: "DIR")
|
48
|
+
method_option(:target, type: :string, aliases: %w[-t], default: "./web/",
|
49
|
+
desc: "destination directory for thumbnails",
|
50
|
+
banner: "DIR")
|
51
|
+
method_option(:size, type: :numeric, aliases: %w[-w], default: 1024,
|
52
|
+
desc: "horizontal width in pixels")
|
53
|
+
method_option(:format, type: :string, aliases: %w[-f], default: "jpg",
|
54
|
+
desc: "format of thumbnail")
|
55
|
+
method_option(:quality, type: :numeric, aliases: %w[-q], default: 60,
|
56
|
+
desc: "quality of image")
|
57
|
+
def web
|
58
|
+
MakeGallery::Command.new(:web, options).process_images
|
59
|
+
rescue MakeGallery::Exception => e
|
60
|
+
return e.to_s
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "make_gallery/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "make_gallery"
|
8
|
+
spec.version = MakeGallery::VERSION
|
9
|
+
spec.authors = ["Tamara Temple"]
|
10
|
+
spec.email = ["tamouse@gmail.com"]
|
11
|
+
spec.summary = %q{Create a set of images for a blog gallery.}
|
12
|
+
spec.homepage = "https://github.com/tamouse"
|
13
|
+
spec.license = "MIT"
|
14
|
+
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
16
|
+
spec.bindir = "exe"
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
|
+
spec.require_paths = ["lib"]
|
19
|
+
|
20
|
+
spec.add_dependency "thor"
|
21
|
+
spec.add_dependency "fattr"
|
22
|
+
spec.add_dependency "highline"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.8"
|
25
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
+
spec.add_development_dependency "rspec"
|
27
|
+
spec.add_development_dependency "pry-byebug"
|
28
|
+
end
|
metadata
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: make_gallery
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tamara Temple
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fattr
|
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: highline
|
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: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.8'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.8'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry-byebug
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description:
|
112
|
+
email:
|
113
|
+
- tamouse@gmail.com
|
114
|
+
executables:
|
115
|
+
- make_gallery
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- ".gitignore"
|
120
|
+
- ".rspec"
|
121
|
+
- ".travis.yml"
|
122
|
+
- CHANGELOG.md
|
123
|
+
- CODE_OF_CONDUCT.md
|
124
|
+
- CONTRIBUTING.md
|
125
|
+
- Gemfile
|
126
|
+
- LICENSE.txt
|
127
|
+
- README.md
|
128
|
+
- Rakefile
|
129
|
+
- bin/console
|
130
|
+
- bin/setup
|
131
|
+
- exe/make_gallery
|
132
|
+
- lib/make_gallery.rb
|
133
|
+
- lib/make_gallery/command.rb
|
134
|
+
- lib/make_gallery/version.rb
|
135
|
+
- make_gallery.gemspec
|
136
|
+
homepage: https://github.com/tamouse
|
137
|
+
licenses:
|
138
|
+
- MIT
|
139
|
+
metadata: {}
|
140
|
+
post_install_message:
|
141
|
+
rdoc_options: []
|
142
|
+
require_paths:
|
143
|
+
- lib
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
requirements: []
|
155
|
+
rubyforge_project:
|
156
|
+
rubygems_version: 2.4.5
|
157
|
+
signing_key:
|
158
|
+
specification_version: 4
|
159
|
+
summary: Create a set of images for a blog gallery.
|
160
|
+
test_files: []
|