shrine-flickr 1.1.0 → 1.2.0
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 +46 -2
- data/lib/shrine/storage/flickr.rb +11 -5
- data/shrine-flickr.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5033c4e43af4a59e75d0daecec024a3d4cc326ef
|
4
|
+
data.tar.gz: 56f5e6f21361b16718530bc06264322b1dc95b17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ddc342ea1686e004e30935a9bef11863d66ecb43fef7009450275fcc6acbd829ed62660943b55e8862b02d5839ab51ed80c5886302f01feb2369b92394a8db8
|
7
|
+
data.tar.gz: 07bcb095e9bc6b3a426775a3a1c2aaa342b3ab5cdb4af32c15ef0c5f4a1f3e8dbee779918f443c05923d3775a93303868307d2632bb30fd2075c238cbacab3ee
|
data/README.md
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
# Shrine::Storage::Flickr
|
2
2
|
|
3
|
-
Provides [Flickr] storage for [Shrine].
|
4
|
-
|
3
|
+
Provides [Flickr] storage for [Shrine].
|
4
|
+
|
5
|
+
Flickr is a photo sharing service which automatically generates different sizes
|
6
|
+
of uploaded photos.
|
5
7
|
|
6
8
|
## Installation
|
7
9
|
|
@@ -78,6 +80,48 @@ class MyUploader < Shrine
|
|
78
80
|
end
|
79
81
|
```
|
80
82
|
|
83
|
+
### Storing info
|
84
|
+
|
85
|
+
After photo is uploaded, additional information about the photo are requested
|
86
|
+
from Flickr, in order to generate the ID. If you want to save those information
|
87
|
+
to metadata, you can set `:store_info`:
|
88
|
+
|
89
|
+
```rb
|
90
|
+
Shrine::Storage::Flickr.new(store_info: true, **flickr_options)
|
91
|
+
```
|
92
|
+
```rb
|
93
|
+
photo = Photo.create(image: image_file)
|
94
|
+
photo.image.metadata["flickr"] #=>
|
95
|
+
# {
|
96
|
+
# "id" => "27169370821",
|
97
|
+
# "secret" => "ab85ddef07",
|
98
|
+
# "server" => "7754",
|
99
|
+
# "farm" => 8,
|
100
|
+
# "dateuploaded" => "1464170485",
|
101
|
+
# "rotation" => 0,
|
102
|
+
# "originalsecret" => "e77ebc5126",
|
103
|
+
# "originalformat" => "jpg",
|
104
|
+
# "owner" => {
|
105
|
+
# "nsid" => "78733179@N04",
|
106
|
+
# "username" => "@janko-m",
|
107
|
+
# "realname" => "Janko Marohnić",
|
108
|
+
# "location" => "Zagreb, Croatia",
|
109
|
+
# "iconserver" => "8033",
|
110
|
+
# "iconfarm" => 9,
|
111
|
+
# "path_alias" => nil
|
112
|
+
# },
|
113
|
+
# "title" => {"_content"=>"image"},
|
114
|
+
# "description" => {"_content"=>""},
|
115
|
+
# "dates" => {
|
116
|
+
# "posted" => "1464170485",
|
117
|
+
# "taken" => "2016-05-25 12:01:25",
|
118
|
+
# "takengranularity" => 0,
|
119
|
+
# "takenunknown" => "1",
|
120
|
+
# "lastupdate" => "1464170486"
|
121
|
+
# },
|
122
|
+
# }
|
123
|
+
```
|
124
|
+
|
81
125
|
### Updating
|
82
126
|
|
83
127
|
If you want to update the title and description of the photo, you can use the
|
@@ -9,10 +9,11 @@ class Shrine
|
|
9
9
|
class Flickr
|
10
10
|
attr_reader :person, :flickr, :upload_options, :album
|
11
11
|
|
12
|
-
def initialize(user:, access_token:, album: nil, upload_options: {})
|
12
|
+
def initialize(user:, access_token:, album: nil, upload_options: {}, store_info: nil)
|
13
13
|
@flickr = ::Flickr.new(*access_token)
|
14
14
|
@person = @flickr.people.find(user)
|
15
15
|
@upload_options = upload_options
|
16
|
+
@store_info = store_info
|
16
17
|
@album = @flickr.sets.find(album) if album
|
17
18
|
end
|
18
19
|
|
@@ -25,7 +26,8 @@ class Shrine
|
|
25
26
|
album.add_photo(photo_id) if album
|
26
27
|
|
27
28
|
photo = photo(photo_id).get_info!
|
28
|
-
|
29
|
+
update_id!(photo, id)
|
30
|
+
update_metadata!(photo, shrine_metadata)
|
29
31
|
|
30
32
|
photo.attributes
|
31
33
|
end
|
@@ -103,9 +105,13 @@ class Shrine
|
|
103
105
|
end
|
104
106
|
end
|
105
107
|
|
106
|
-
def
|
107
|
-
"#{photo.farm}-#{photo.server}-#{photo.id}-#{photo.secret}"
|
108
|
-
|
108
|
+
def update_id!(photo, id)
|
109
|
+
info_id = "#{photo.farm}-#{photo.server}-#{photo.id}-#{photo.secret}-#{photo["originalsecret"]}.#{photo["originalformat"]}"
|
110
|
+
id.replace(info_id)
|
111
|
+
end
|
112
|
+
|
113
|
+
def update_metadata!(photo, metadata)
|
114
|
+
metadata["flickr"] = photo.attributes if @store_info
|
109
115
|
end
|
110
116
|
|
111
117
|
def photo_id(id)
|
data/shrine-flickr.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shrine-flickr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janko Marohnić
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shrine
|