tori 0.0.1 → 0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63eb309ef18d6c682fec8fe879cba915aaa7080c
4
- data.tar.gz: 4481a5b9462416c24e7da0cf766df0c8ba081a20
3
+ metadata.gz: f5563a0b24b7c620e8e0e020e2b4b8c3820dcf11
4
+ data.tar.gz: 16681e5518f0836d94459819c097ba7e774e8e38
5
5
  SHA512:
6
- metadata.gz: cf11628e41240b07be7c7e4cdd7b4fe591eb0d939981fa713c59a5d1f688736657c144e037b3f94a433e249e5a98e6a4554a488b5b0293f2daf91d28379d6b93
7
- data.tar.gz: aee79da9edd01954b4ab876fc18a7f8658f975db978f15881217ad0799249ee3c7bb8a0cbab9e48eeebe6c26b86080d926e7d9034d5a0d36fbfa7d93c71e0c5d
6
+ metadata.gz: 9f145b9389b2623ccf0b7f60999b819f123e69fd1b1d784c830449ab1df6a148ad36c5eb01fad6020abbe34df0303186a9a9289ab562bc46dbd0c68466350f67
7
+ data.tar.gz: 89a1c87b3b89c221d07695389c531083f0ebb61e2715b6444355a9f7c9e6af1885ecf7f528f7495554bda1bd2df23847d6b6f08f971a5a85e04fcc7f1218ee06
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  Gemfile.lock
2
+ pkg
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  Tori
2
2
  ===
3
3
 
4
+ "(\\( ⁰⊖⁰)/)"
5
+
4
6
  Tori is a very very simple file uploader.
5
7
 
6
8
  Tori dose nothing.
@@ -56,35 +58,10 @@ app/views/photos/new.html.slim
56
58
 
57
59
  # default configure
58
60
 
59
- ```
60
- # Tori using hash function for decide filename.
61
- # Filename dependent on class name and `id` setting with `tori` method in class.
62
- Tori.config.hash_method = Digest::MD5.method(:hexdigest)
63
-
64
- # Rails
65
- Tori.config.backend = Tori::Backend::FileSystem.new(Rails.root.join('tmp', 'tori'))
66
-
67
- # Other
68
- Tori.config.backend = Tori::Backend::FileSystem.new(Pathname("tmp/tori"))
69
- ```
61
+ [https://github.com/ksss/tori/blob/master/lib/tori.rb](https://github.com/ksss/tori/blob/master/lib/tori.rb)
70
62
 
71
63
  You can change configure any time.
72
64
 
73
- # Options
74
-
75
- Change hash resource data.
76
-
77
- ```
78
- class Photo < ActiveRecord::Base
79
- tori :image, id: :filename
80
- def filename
81
- "abc"
82
- end
83
- end
84
- ```
85
-
86
- This class never upload two file.
87
-
88
65
  # future TODO
89
66
 
90
67
  - support background S3 Storage
data/lib/tori/config.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  module Tori
2
2
  class Config
3
- attr_accessor :backend, :hash_method
3
+ attr_accessor :backend, :filename_callback
4
4
  def initialize
5
5
  @backend = nil
6
- @hash_method = nil
6
+ @filename_callback = nil
7
7
  end
8
8
  end
9
9
  end
data/lib/tori/define.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Tori
2
2
  module Define
3
- def tori(name, id: :id)
3
+ def tori(name)
4
4
  name_hash_get = "#{name}_hash".to_sym
5
5
  name_ivar = "@#{name}".to_sym
6
6
  name_hash_ivar = "@#{name}_hash".to_sym
@@ -14,7 +14,7 @@ module Tori
14
14
  end
15
15
 
16
16
  define_method(name_hash_get) do
17
- Tori.config.hash_method.call "#{self.class.name}/#{__send__(id.to_sym)}"
17
+ Tori.config.filename_callback.call(self)
18
18
  end
19
19
  end
20
20
  end
data/lib/tori/rails.rb CHANGED
@@ -1,23 +1,6 @@
1
1
  require 'tori'
2
2
 
3
3
  module Tori
4
- class Engine < Rails::Engine
5
- initializer "tori.setup", before: :load_environment_config do
6
- # Default backend config
7
- # You can change setting any time.
8
- # Recommend to create config/initializer/tori.rb for setting.
9
-
10
- # Configure for file store backend instance.
11
- Tori.config.backend = Tori::Backend::FileSystem.new(Rails.root.join('tmp', 'tori'))
12
-
13
- # Filename hashing method
14
- # It's call when decide filename hash.
15
- # `hash_method` must be have `call` method.
16
- # default: `Digest::MD5.method(:hexdigest)``
17
- # Tori.config.hash_method = Digest::MD5.method(:hexdigest)
18
- end
19
- end
20
-
21
4
  module ActiveRecord
22
5
  include Define
23
6
 
@@ -28,7 +11,7 @@ module Tori
28
11
  # class Photo < ActiveRecord::Base
29
12
  # tori :image, id: :id
30
13
  # end
31
- def tori(name, id: :id)
14
+ def tori(name)
32
15
  super
33
16
 
34
17
  name_hash_get = "#{name}_hash".to_sym
data/lib/tori/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tori
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/tori.rb CHANGED
@@ -10,8 +10,19 @@ module Tori
10
10
  class << self
11
11
  def config
12
12
  @config ||= Config.new.tap do |config|
13
+ # Default backend config
14
+ # You can change setting any time.
15
+ # Recommend to create config/initializer/tori.rb for setting.
16
+
17
+ # Configure for file store backend instance.
13
18
  config.backend = Tori::Backend::FileSystem.new(Pathname("tmp/tori"))
14
- config.hash_method = Digest::MD5.method(:hexdigest)
19
+
20
+ # Filename hashing method
21
+ # It's call when decide filename hash.
22
+ # `filename_callback` must be have `call` method.
23
+ config.filename_callback = ->(model) do
24
+ Digest::MD5.hexdigest "#{model.class.name}/#{model.id}"
25
+ end
15
26
  end
16
27
  end
17
28
  end
data/test/test_tori.rb CHANGED
@@ -7,6 +7,6 @@ class TestTori < Test::Unit::TestCase
7
7
 
8
8
  test "config default" do
9
9
  assert_instance_of Tori::Backend::FileSystem, Tori.config.backend
10
- assert { Digest::MD5.method(:hexdigest) == Tori.config.hash_method }
10
+ assert_instance_of Proc, Tori.config.filename_callback
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ class TestToriConfig < Test::Unit::TestCase
6
6
  assert_instance_of Tori::Config, i
7
7
  assert_respond_to i, :backend
8
8
  assert_respond_to i, :backend=
9
- assert_respond_to i, :hash_method
10
- assert_respond_to i, :hash_method=
9
+ assert_respond_to i, :filename_callback
10
+ assert_respond_to i, :filename_callback=
11
11
  end
12
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tori
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ksss
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-24 00:00:00.000000000 Z
11
+ date: 2015-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler