phil 0.9.2 → 0.9.3

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 (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -0
  3. data/lib/phil/version.rb +1 -1
  4. data/lib/phil.rb +19 -0
  5. metadata +7 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f1ea879b9f4c1d6e19afe9ec993fcf2aa57d9f0
4
- data.tar.gz: 9f4bc43a1fe0cfb1988edc28fc6d7d9e807729e5
3
+ metadata.gz: 3668992d36762d34360443d60b52a7d95470ecf2
4
+ data.tar.gz: f79137b76250fdca9aba3a7f3ee47d9323a4bc22
5
5
  SHA512:
6
- metadata.gz: e258cd1fe0470d475ae0d37278fae13a23c0ecc5f317e5b9df38669a0d11298e891f76b725faabf5c89433276f26ed4aac966a29eb57f47191e4b25ae7ca5592
7
- data.tar.gz: b85c432d4fd1799c566387ab3402a6f7f486e277197fa0b0e203a12f12df3c56739abbb68d9e94b3ae9fbc9f7c9a220d6ee248d01a1b1b212f852369c21148ae
6
+ metadata.gz: f5364b5be4065f4b3ffa0d768e049ef80cffadc33fc64df2f1e54db090ec82f0bd18a283e1ca7cc9826cbd2163c615bfd475e413f1082bbdf5f18a8a830aa401
7
+ data.tar.gz: 727d7a711e09ccb853ac3856e1fd622637b1722896a3ee53ba20ab0d24d3a2727ca9749f9361891bd7451fd22c26308dda5931757f604990c8f2e4f248608e7f
data/README.md CHANGED
@@ -46,6 +46,19 @@ Phil.markup
46
46
  Phil.markup "h1 p h2 ul p blockquote h5 h6"
47
47
  ```
48
48
 
49
+ ### Images
50
+
51
+ Generate a [placehold.it](http://placehold.it) image URL. Requires dimensions, but you can also request colors (in the format `#background/#foreground`) and containing text. Placehold.it doesn't play nice with some containing text characters so those are stripped out.
52
+
53
+ You can pass arguments in any order – Phil is reasonably smart about figuring them out.
54
+
55
+ ```ruby
56
+ Phil.image 200 # http://placehold.it/200
57
+ Phil.image 200x400, #ff0000 # http://placehold.it/200x400/ff0000
58
+ Phil.image 200x400, #ff0000/#00ff00 # http://placehold.it/200x400/ff0000/00ff00
59
+ Phil.image 'Jackie Jormp-Jomp?', 600 # http://placehold.it/600&text=Jackie+Jormp-Jomp
60
+ ```
61
+
49
62
  ### Lorem methods (all take ranges or numbers)
50
63
 
51
64
  ```ruby
data/lib/phil/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Phil
2
- VERSION = '0.9.2'
2
+ VERSION = '0.9.3'
3
3
  end
data/lib/phil.rb CHANGED
@@ -103,6 +103,14 @@ module Phil
103
103
  Faker::AddressUS.state_abbr
104
104
  end
105
105
 
106
+ def image(*arguments)
107
+ opts = {}
108
+ arguments.each do |arg|
109
+ opts.merge! parse_image_argument(arg.to_s)
110
+ end
111
+ opts[:size] && "http://placehold.it/#{opts[:size]}#{opts[:color]}#{opts[:text]}"
112
+ end
113
+
106
114
  alias_method :body_content, :markup
107
115
 
108
116
  private
@@ -133,6 +141,17 @@ module Phil
133
141
  "<#{name}>#{content}</#{name}>".html_safe
134
142
  end
135
143
 
144
+ def parse_image_argument(argument)
145
+ case argument
146
+ when /^(#[a-f\d]{3,6}(\/(?=#))?){1,2}$/
147
+ { :color => "/#{argument.gsub('#', '')}" }
148
+ when /^\d*x?\d*?$/
149
+ { :size => argument }
150
+ else
151
+ { :text => "&text=#{argument.gsub(/[^\d\w\!,\.;:-]+/, '+').gsub(/\+?$/, '')}" }
152
+ end
153
+ end
154
+
136
155
  end
137
156
 
138
157
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Daigle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-14 00:00:00.000000000 Z
11
+ date: 2013-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffaker
@@ -80,7 +80,10 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Phil makes it easy to generate content for your UI mockups.
83
+ description: Phil is a collection of markup generation and iteration methods to ease
84
+ creation of UI mockups. It uses Faker for standard content generation and adds a
85
+ number of convenience methods and ways to build consistently varied markup for layout
86
+ testing.
84
87
  email:
85
88
  - cameron@hashrocket.com
86
89
  executables: []
@@ -115,5 +118,5 @@ rubyforge_project:
115
118
  rubygems_version: 2.0.3
116
119
  signing_key:
117
120
  specification_version: 4
118
- summary: Phil brings the content.
121
+ summary: Quickly and easily generate varied markup and content.
119
122
  test_files: []