photofy 0.3.1 → 0.3.5
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 +4 -4
- data/README.md +44 -0
- data/lib/photofy/core.rb +10 -11
- metadata +4 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 52ab5edb906bec6b8f3d9dc4d6382740671ca69b
|
|
4
|
+
data.tar.gz: a5f6b32dbdc932e35084c5f3f367b6da561c37a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c86f938112502f3f6bf340fea7c36eaf915ca5a530a65ff05509f8dbaa2290cf51418c7705086dbc9be74b8449cccbf816479fd6d6ad2eac7c9e74908174ed4d
|
|
7
|
+
data.tar.gz: fe44b3c6a2f6a6af4dc35a469d0ff0fd3eaa7c68bad31a2b3350028f9f40ed80fce866714a8502a09963ce4a5cc2fa7b1c93b5f0713835190366cffad225b9dc
|
data/README.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
## Photofy
|
|
2
|
+
A simple ruby gem providing photo fields to rails model
|
|
3
|
+
|
|
4
|
+
## Installation
|
|
5
|
+
Add this line to your application's Gemfile:
|
|
6
|
+
|
|
7
|
+
`gem 'photofy'`
|
|
8
|
+
|
|
9
|
+
And then execute:
|
|
10
|
+
|
|
11
|
+
`$ bundle`
|
|
12
|
+
|
|
13
|
+
Or install it yourself as:
|
|
14
|
+
|
|
15
|
+
`$ gem install photofy`
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
Add photo field(s) to model by adding lines like
|
|
20
|
+
|
|
21
|
+
`photofy(:collage)`
|
|
22
|
+
|
|
23
|
+
> * `collage` : Getter,
|
|
24
|
+
> * `collage?` : Returns true if assignment is having value other than nil else false,
|
|
25
|
+
> * `collage =` : Setter. Acceptable inputs are file upload(ActionDispatch::Http::UploadedFile), file and String(format validation is ignored),
|
|
26
|
+
> * `collage_path` : File path of assignment,
|
|
27
|
+
> * `collage_s3publicpath` : Public aws s3 url provider if (aws s3 is used as storage)
|
|
28
|
+
> * `collage_persisted?` : Gives true if provided file/data is stored on disk,
|
|
29
|
+
> * `collage_store!` : To store provided file/data on disk,
|
|
30
|
+
> * `collage_destroy!` : To destroy stored file/data from disk
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
`photofy(:collage_sec, {parent_photo_field: :collage})`
|
|
34
|
+
> Automatically creates a collage_sec photo field from :collage parent field
|
|
35
|
+
|
|
36
|
+
`photofy(:stamp, {image_processor: Proc.new { |img| img.scale(25, 25) }})`
|
|
37
|
+
> Process image to scale(refer imagemagick/rmagick for other image manipulations) of 25x25px when image is saved.
|
|
38
|
+
|
|
39
|
+
`after_photofy :collage, :post_card, Proc.new { |img| img.scale(450, 200) }`
|
|
40
|
+
> Creates 'post_card' photo field by taking source from 'collage' and scaling it to 450x200px.
|
|
41
|
+
|
|
42
|
+
Enables aws s3 as backend storage (may be in initializer).
|
|
43
|
+
|
|
44
|
+
`ActiveRecord::Base.photofy_s3_storage({access_key_id: 'xxxxxxxx',secret_access_key: 'xxxxxxxx'}, {bucket: 'test_bucket'})`
|
data/lib/photofy/core.rb
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
module Photofy
|
|
2
2
|
module Core
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
attr_accessor :photo_formats
|
|
3
|
+
cattr_accessor :photofied_flag
|
|
4
|
+
cattr_accessor :photo_fields
|
|
5
|
+
cattr_accessor :photo_formats
|
|
7
6
|
|
|
8
7
|
#Getter to check if model is enabled with file_folder
|
|
9
8
|
def is_photofied?
|
|
10
|
-
|
|
9
|
+
@@photofied_flag.nil? ? false : @@photofied_flag
|
|
11
10
|
end
|
|
12
11
|
|
|
13
12
|
#Generates photo field which can be used to store a post processed image(using rmagick) of parent photo field.
|
|
@@ -55,8 +54,8 @@ module Photofy
|
|
|
55
54
|
|
|
56
55
|
self.validate "validate_#{photo_field}_field"
|
|
57
56
|
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
@@photo_fields ||=[]
|
|
58
|
+
@@photo_fields << photo_field
|
|
60
59
|
|
|
61
60
|
define_method "validate_#{photo_field}_field" do
|
|
62
61
|
(@photo_fields_errors ||={}).each do |field, message|
|
|
@@ -253,18 +252,18 @@ module Photofy
|
|
|
253
252
|
send(:after_save, "#{photo_field}_store!")
|
|
254
253
|
send(:after_destroy, "#{photo_field}_destroy!")
|
|
255
254
|
|
|
256
|
-
|
|
255
|
+
@@photofied_flag = true
|
|
257
256
|
end
|
|
258
257
|
|
|
259
258
|
def photos_repository
|
|
260
|
-
|
|
259
|
+
FileUtils.mkdir_p(File.join(Rails.root, "photofy", self.name.underscore))[0]
|
|
261
260
|
end
|
|
262
261
|
|
|
263
262
|
#Collects valid photo formats specific to photo fields
|
|
264
263
|
def collect_photo_formats(photo_field, options)
|
|
265
264
|
if options.is_a?(Hash)
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
@@photo_formats ||= {}
|
|
266
|
+
@@photo_formats[photo_field] = options[:formats].is_a?(Array) ? options[:formats].collect { |x| x.starts_with?(".") ? x : ".#{x}" } : [".jpeg", ".jpg", ".gif", ".png", ".bmp"]
|
|
268
267
|
else
|
|
269
268
|
raise 'InvalidArguments'
|
|
270
269
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: photofy
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Praveen Kumar Sinha
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2014-11-
|
|
13
|
+
date: 2014-11-16 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: aws-sdk
|
|
@@ -34,23 +34,13 @@ dependencies:
|
|
|
34
34
|
version: 1.49.0
|
|
35
35
|
description: |2
|
|
36
36
|
A gem to provide simple method to do file upload of pictures and provides getter setter methods of it and save on model object commit.
|
|
37
|
-
|
|
38
|
-
#Generates photo filed from photo_field arguments and provides methods like
|
|
39
|
-
#if photo_filed is "collage" then it provides methods on top of it as
|
|
40
|
-
#collage >> Getter,
|
|
41
|
-
#collage? >> Returns true if assignment is having value other than nil else false,
|
|
42
|
-
#collage = >> Setter. Acceptable inputs are file upload(ActionDispatch::Http::UploadedFile), filer handle and String(format validation is ignored),
|
|
43
|
-
#collage_path >> File path of assignment,
|
|
44
|
-
collage_s3publicpath >> Public aws s3 url provider if (aws s3 is used as storage),
|
|
45
|
-
#collage_path_to_write >> File path of assignment to write (specific to writing. Used internally),
|
|
46
|
-
#collage_persisted? >> true if provided file/data is stored on disk,
|
|
47
|
-
#collage_store! >> to store provided file/data on disk,
|
|
48
|
-
#collage_destroy! >> to store destroy stored file/data from disk
|
|
37
|
+
Refer documentation for more help.
|
|
49
38
|
email: praveen.kumar.sinha@gmail.com
|
|
50
39
|
executables: []
|
|
51
40
|
extensions: []
|
|
52
41
|
extra_rdoc_files: []
|
|
53
42
|
files:
|
|
43
|
+
- README.md
|
|
54
44
|
- lib/photofy.rb
|
|
55
45
|
- lib/photofy/core.rb
|
|
56
46
|
- lib/photofy/s3methods.rb
|