google-qr 0.1 → 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.
Files changed (3) hide show
  1. data/lib/google-qr.rb +24 -5
  2. data/lib/string.rb +11 -0
  3. metadata +20 -40
@@ -1,15 +1,29 @@
1
+ require 'string'
2
+
1
3
  class GoogleQR
2
- BASE_URL = "https://chart.googleapis.com/chart?cht=qr&"
3
- attr_accessor :data, :size
4
- def initialize(opts={:data => "http://google.com"})
5
- opts.each {|key,value| self.send("#{key}=", value) }
4
+ attr_accessor :data,
5
+ :size,
6
+ :use_https,
7
+ :encoding,
8
+ :error_correction
9
+
10
+ def initialize(opts={})
11
+ options = {
12
+ :data => "http://google.com",
13
+ :size => "100x100",
14
+ :use_https => true
15
+ }.merge!(opts)
16
+
17
+ options.each {|key,value| self.send("#{key}=", value) }
6
18
  end
7
19
 
8
20
  def to_s
9
21
  if self.data
10
22
  params = ["chl=#{self.data}"]
11
23
  params << "chs=#{self.size}" if self.size
12
- BASE_URL + params.join("&")
24
+ params << "choe=#{self.encoding}" if self.encoding
25
+ params << "chld=#{self.error_correction}" if self.error_correction
26
+ base_url + params.join("&")
13
27
  else
14
28
  raise "Attribute @data is required for GoogleQR code"
15
29
  end
@@ -24,4 +38,9 @@ class GoogleQR
24
38
  end
25
39
  "<img src='#{self.to_s}'#{dimensions}/>"
26
40
  end
41
+
42
+ private
43
+ def base_url
44
+ "http#{self.use_https ? 's' : ''}://chart.googleapis.com/chart?cht=qr&"
45
+ end
27
46
  end
@@ -0,0 +1,11 @@
1
+ class String
2
+ def to_qr(opts={})
3
+ opts[:data] = self
4
+ GoogleQR.new(opts).to_s
5
+ end
6
+
7
+ def to_qr_image(opts={})
8
+ opts[:data] = self
9
+ GoogleQR.new(opts).render
10
+ end
11
+ end
metadata CHANGED
@@ -1,68 +1,48 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: google-qr
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- version: "0.1"
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.2'
5
+ prerelease:
9
6
  platform: ruby
10
- authors:
7
+ authors:
11
8
  - Joseph Hsu
9
+ - Nick Hammond
12
10
  autorequire:
13
11
  bindir: bin
14
12
  cert_chain: []
15
-
16
- date: 2011-01-20 00:00:00 +00:00
17
- default_executable:
13
+ date: 2011-07-27 00:00:00.000000000Z
18
14
  dependencies: []
19
-
20
15
  description: Generate URL string for Google QR code and render HTML img string
21
- email:
16
+ email:
22
17
  - jhsu@josephhsu.com
23
18
  executables: []
24
-
25
19
  extensions: []
26
-
27
20
  extra_rdoc_files: []
28
-
29
- files:
21
+ files:
30
22
  - lib/google-qr.rb
31
- has_rdoc: true
23
+ - lib/string.rb
32
24
  homepage: http://github.com/jhsu/google-qr
33
25
  licenses: []
34
-
35
26
  post_install_message:
36
27
  rdoc_options: []
37
-
38
- require_paths:
28
+ require_paths:
39
29
  - lib
40
- required_ruby_version: !ruby/object:Gem::Requirement
30
+ required_ruby_version: !ruby/object:Gem::Requirement
41
31
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- segments:
46
- - 1
47
- - 8
48
- - 7
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
49
35
  version: 1.8.7
50
- required_rubygems_version: !ruby/object:Gem::Requirement
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
37
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 1
57
- - 3
58
- - 6
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
59
41
  version: 1.3.6
60
42
  requirements: []
61
-
62
43
  rubyforge_project:
63
- rubygems_version: 1.3.7
44
+ rubygems_version: 1.8.5
64
45
  signing_key:
65
46
  specification_version: 3
66
47
  summary: Wrapper for Google Chart QR code
67
48
  test_files: []
68
-