push_me 0.1.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.
Files changed (7) hide show
  1. checksums.yaml +7 -0
  2. data/Manifest +4 -0
  3. data/README.rdoc +0 -0
  4. data/Rakefile +14 -0
  5. data/lib/push.rb +35 -0
  6. data/push_me.gemspec +21 -0
  7. metadata +54 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a46e1af334d99b90a02c1ca603e557579f924688
4
+ data.tar.gz: 8b8387cc5247470d8a9e1f9e9797f307ace145f9
5
+ SHA512:
6
+ metadata.gz: c7efd848fe0c247395c0d55311e6a91644f6b21b10baa6dc77afba5201307a410a948bbacb04a0ad73a52e488d8087104ee102e592733c1797aa0c39b69eadd5
7
+ data.tar.gz: 093d02319ad14165117bf905fda4a047a77480d33e7a288fb07ffa2d250112d017ee15e22715c456012dad86a23cfc30418c2594147683490d3521ed50dea383
data/Manifest ADDED
@@ -0,0 +1,4 @@
1
+ README.rdoc
2
+ Rakefile
3
+ lib/push.rb
4
+ Manifest
data/README.rdoc ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new('push_me', '0.1.0') do |p|
6
+ p.description = "Generate a unique token with ActiveRecord"
7
+ p.url = "http://github.com/eifion/uniquify"
8
+ p.author = "Eifion Bedford"
9
+ p.email = "eifion@asciicasts.com"
10
+ p.ignore_pattern = ["tmp/*", "script/*"]
11
+ p.development_dependencies = []
12
+ end
13
+
14
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
data/lib/push.rb ADDED
@@ -0,0 +1,35 @@
1
+ module Uniquify
2
+ def self.included(base)
3
+ base.extend ClassMethods
4
+ end
5
+
6
+ def ensure_unique(name)
7
+ begin
8
+ self[name] = yield
9
+ end while self.class.exists?(name => self[name])
10
+ end
11
+
12
+ module ClassMethods
13
+
14
+ def uniquify(*args, &block)
15
+ options = { :length => 8, :chars => ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a }
16
+ options.merge!(args.pop) if args.last.kind_of? Hash
17
+ args.each do |name|
18
+ before_create do |record|
19
+ if block
20
+ record.ensure_unique(name, &block)
21
+ else
22
+ record.ensure_unique(name) do
23
+ Array.new(options[:length]) { options[:chars].to_a[rand(options[:chars].to_a.size)] }.join
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ end
31
+ end
32
+
33
+ class ActiveRecord::Base
34
+ include Uniquify
35
+ end
data/push_me.gemspec ADDED
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: push_me 0.1.0 ruby lib
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "push_me"
6
+ s.version = "0.1.0"
7
+
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
9
+ s.authors = ["Eifion Bedford"]
10
+ s.date = "2013-12-11"
11
+ s.description = "Generate a unique token with ActiveRecord"
12
+ s.email = "eifion@asciicasts.com"
13
+ s.extra_rdoc_files = ["README.rdoc", "lib/push.rb"]
14
+ s.files = ["README.rdoc", "Rakefile", "lib/push.rb", "Manifest", "push_me.gemspec"]
15
+ s.homepage = "http://github.com/eifion/uniquify"
16
+ s.rdoc_options = ["--line-numbers", "--title", "Push_me", "--main", "README.rdoc"]
17
+ s.require_paths = ["lib"]
18
+ s.rubyforge_project = "push_me"
19
+ s.rubygems_version = "2.1.10"
20
+ s.summary = "Generate a unique token with ActiveRecord"
21
+ end
metadata ADDED
@@ -0,0 +1,54 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: push_me
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Eifion Bedford
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Generate a unique token with ActiveRecord
14
+ email: eifion@asciicasts.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files:
18
+ - README.rdoc
19
+ - lib/push.rb
20
+ files:
21
+ - README.rdoc
22
+ - Rakefile
23
+ - lib/push.rb
24
+ - Manifest
25
+ - push_me.gemspec
26
+ homepage: http://github.com/eifion/uniquify
27
+ licenses: []
28
+ metadata: {}
29
+ post_install_message:
30
+ rdoc_options:
31
+ - --line-numbers
32
+ - --title
33
+ - Push_me
34
+ - --main
35
+ - README.rdoc
36
+ require_paths:
37
+ - lib
38
+ required_ruby_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ required_rubygems_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '1.2'
48
+ requirements: []
49
+ rubyforge_project: push_me
50
+ rubygems_version: 2.1.10
51
+ signing_key:
52
+ specification_version: 4
53
+ summary: Generate a unique token with ActiveRecord
54
+ test_files: []