ascii-passport 0.0.1

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.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in ascii-passport.gemspec
4
+ gemspec
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "ascii-passport/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "ascii-passport"
7
+ s.version = AsciiPassport::VERSION
8
+ s.authors = ["Bodaniel Jeanes", "Ri Liu"]
9
+ s.email = ["me@bjeanes.com", "ri@playfulcreative.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Simple gem built for teaching students how to use gems}
12
+ s.description = %q{Simple gem built for teaching students how to use gems}
13
+
14
+ s.rubyforge_project = "ascii-passport"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ # s.add_runtime_dependency "rest-client"
24
+ end
@@ -0,0 +1,82 @@
1
+ require "ascii-passport/version"
2
+ require "date"
3
+
4
+ module AsciiPassport
5
+ DEFAULT_IDENTITY = {
6
+ "given_name" => "Steve",
7
+ "surname" => "Jobs",
8
+ "street" => "100 Infinite Loop",
9
+ "city" => "Cupertino",
10
+ "age" => 21, # ish
11
+ "gender" => "male"
12
+ }
13
+
14
+ def self.build(identity = {})
15
+ identity = DEFAULT_IDENTITY.merge(identity)
16
+
17
+ # Create a random birthday from an age
18
+ identity["birthday"] = Date.new(
19
+ Date.today.year - identity["age"].to_i,
20
+ rand(12) + 1,
21
+ rand(28) + 1
22
+ ).to_s
23
+
24
+ i = lambda { |key| identity[key].ljust(28) } # there are 28 characters of space available on the ID
25
+
26
+ if identity["gender"] == "male"
27
+ <<-PASSPORT
28
+ ,-------------------------------------------------------------.
29
+ | ,-------------------. |
30
+ | | _..._ | NAME: #{i["given_name"] }|
31
+ | | .d$$$$$$$b. | SURNAME: #{i["surname"] }|
32
+ | | d$$$$$$$$$$$b | |
33
+ | | d$P^""^$^""^T$b | ADDRESS: #{i["street"] }|
34
+ | | $$ $$ | #{i["city"] }|
35
+ | | $;.==. .==.:$ | |
36
+ | | :; <o>` /<o> :| | BIRTHDAY: #{i["birthday"] }|
37
+ | | :| |; | |
38
+ | | : ,_l ; | |
39
+ | | \\ .___. / | |
40
+ | | :. - .; | |
41
+ | | _.; `---' :._ | |
42
+ | |gd$$$$. .$$$$bp| |
43
+ | '^^^^^^^^=-=^^^^^^^^' |
44
+ | |
45
+ | |
46
+ |-----------------------------------+--------------+----------|
47
+ | >>>>>125KTKRST098RT>>>3>>>RS235>23| NO: #{id } | 18/03/03 |
48
+ '-----------------------------------^--------------^----------'
49
+ PASSPORT
50
+ else
51
+ <<-PASSPORT
52
+ ,-------------------------------------------------------------.
53
+ | ,-------------------. |
54
+ | | _=mMMM;, | NAME: #{i["given_name"] }|
55
+ | | mt;MMHMMHm, | SURNAME: #{i["surname"] }|
56
+ | | S;`"';'`';MMm | |
57
+ | | iM|- --|Mml | ADDRESS: #{i["street"] }|
58
+ | | Im|*' l `*'$|mll | #{i["city"] }|
59
+ | | IMs L /Smll | |
60
+ | | IMS ____ lSmllL | BIRTHDAY: #{i["birthday"] }|
61
+ | | IMm\\ `--' /SMmlMl | |
62
+ | | ImMm\\____/SMMmlML | |
63
+ | | IMMMMm) |mMmmlLl| |
64
+ | | IMmKm; ;MmMmmm| |
65
+ | |[ '"'"'"' ]| |
66
+ | |___________________| |
67
+ | |
68
+ | |
69
+ | |
70
+ |-----------------------------------+--------------+----------|
71
+ | >>>>>125KTKRST098RT>>>3>>>RS235>23| NO: #{id } | 18/03/03 |
72
+ '-----------------------------------^--------------^----------'
73
+ PASSPORT
74
+ end
75
+ end
76
+
77
+ private
78
+ def self.id
79
+ "PL#{"%06d" % rand(9999)}"
80
+ end
81
+
82
+ end
@@ -0,0 +1,3 @@
1
+ module AsciiPassport
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,53 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ascii-passport
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Bodaniel Jeanes
9
+ - Ri Liu
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2011-10-11 00:00:00.000000000Z
14
+ dependencies: []
15
+ description: Simple gem built for teaching students how to use gems
16
+ email:
17
+ - me@bjeanes.com
18
+ - ri@playfulcreative.com
19
+ executables: []
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - .gitignore
24
+ - Gemfile
25
+ - Rakefile
26
+ - ascii-passport.gemspec
27
+ - lib/ascii-passport.rb
28
+ - lib/ascii-passport/version.rb
29
+ homepage: ''
30
+ licenses: []
31
+ post_install_message:
32
+ rdoc_options: []
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ requirements: []
48
+ rubyforge_project: ascii-passport
49
+ rubygems_version: 1.8.6
50
+ signing_key:
51
+ specification_version: 3
52
+ summary: Simple gem built for teaching students how to use gems
53
+ test_files: []