rsips 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,2 +1,5 @@
1
1
  require 'bundler'
2
2
  Bundler::GemHelper.install_tasks
3
+
4
+ # TODO: Rake task that parses code and looks
5
+ # for "# TODO:" and prints out what follows
@@ -0,0 +1,7 @@
1
+ module Rsips::Batch
2
+
3
+ def self.resize(images, long_edge)
4
+ images.each { |img| self.new(img).resize! long_edge }
5
+ end
6
+ end
7
+
data/lib/rsips/image.rb CHANGED
@@ -1,30 +1,40 @@
1
1
  module Rsips
2
+
2
3
  class Image
4
+
5
+ include Rsips::Sips
3
6
 
4
7
  attr_reader :width, :height
5
-
6
- def initialize img
7
- @img = img
8
+
9
+ def initialize(img)
10
+ @img = img # TODO: strip out blank spaces
8
11
  @width = get_dimension :width
9
12
  @height = get_dimension :height
10
13
  end
11
14
 
12
- def resize(long_edge)
15
+ # TODO: how do you know it's long edge?
16
+ # pass in both long and short edges with
17
+ # short edge being optional
18
+ def resize!(long_edge)
13
19
  vertical? ? resample(:height, long_edge) : resample(:width, long_edge)
20
+ self
14
21
  end
15
-
16
- def vertical?
17
- @height > @width
22
+
23
+ def to_jpg!(compression="default")
24
+ dup.to_jpg
25
+ FileUtils.rm @img
18
26
  end
19
-
20
- private
21
-
22
- def resample(dimension, pixels)
23
- system "sips --resample#{dimension.capitalize} #{pixels} #{@img}"
27
+
28
+ def to_jpg(compression="default")
29
+ format :jpeg, :compression => compression
30
+ end
31
+
32
+ def orientation
33
+ @img.vertical? ? 'vertical' : 'horizontal'
24
34
  end
25
35
 
26
- def get_dimension(dimension)
27
- `sips --getProperty pixel#{dimension.capitalize} #{@img}`.chomp.slice(/\d+$/)
36
+ def vertical?
37
+ @height > @width
28
38
  end
29
39
  end
30
40
  end
data/lib/rsips/sips.rb ADDED
@@ -0,0 +1,31 @@
1
+ module Rsips::Sips
2
+
3
+ def resample(dimension, pixels)
4
+ sips "--resample#{dimension.capitalize} #{pixels} #{@img}"
5
+ end
6
+
7
+ def get_dimension(dimension)
8
+ `sips -g pixel#{dimension.capitalize} #{@img}`.chomp.slice(/\d+$/).to_i
9
+ end
10
+
11
+ def format(type, options={})
12
+ options = options[:compression] || "default"
13
+ new_ext = case type
14
+ when :jpeg then "jpg"
15
+ when :tiff then "tif"
16
+ else type
17
+ end
18
+ new_image = replace_ext(@img, new_ext)
19
+ sips "-s format #{type} -s formatOptions #{options} #{@img} --out #{new_image}"
20
+ end
21
+
22
+ private
23
+
24
+ def sips(command)
25
+ system "sips #{command}"
26
+ end
27
+
28
+ def replace_ext(filename, new_ext)
29
+ filename.split('.')[0..-2].push(new_ext).join('.')
30
+ end
31
+ end
data/lib/rsips.rb CHANGED
@@ -1,6 +1,17 @@
1
- module Rsips
2
- end
1
+ # Load dependencies
2
+ require 'fileutils'
3
3
 
4
+ # Add lib/rsips to load path
4
5
  $:.unshift File.expand_path(File.dirname(__FILE__))
5
6
 
7
+ # rsips
8
+ module Rsips
9
+
10
+ # Current version of rsips
11
+ VERSION = '0.0.2'
12
+
13
+ end
14
+
15
+ require 'rsips/sips'
6
16
  require 'rsips/image'
17
+ require 'rsips/batch'
data/rsips.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
- require "rsips/version"
3
+ require "rsips"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "rsips"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsips
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-08 00:00:00.000000000Z
12
+ date: 2011-08-12 00:00:00.000000000Z
13
13
  dependencies: []
14
14
  description:
15
15
  email:
@@ -23,8 +23,9 @@ files:
23
23
  - README.md
24
24
  - Rakefile
25
25
  - lib/rsips.rb
26
+ - lib/rsips/batch.rb
26
27
  - lib/rsips/image.rb
27
- - lib/rsips/version.rb
28
+ - lib/rsips/sips.rb
28
29
  - rsips.gemspec
29
30
  homepage: http://github.com/jdlich/rsips
30
31
  licenses: []
data/lib/rsips/version.rb DELETED
@@ -1,3 +0,0 @@
1
- module Rsips
2
- VERSION = "0.0.1"
3
- end