nineteen-eighty-two 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25b72a202a79e28c2de96d8cc55f4af20f275644
4
- data.tar.gz: be6fe9d6ae572ef9072e6a155b1faf11b290544d
3
+ metadata.gz: b1384a47de3860d571be0288ea9332d98b845ce1
4
+ data.tar.gz: 4e905b2f09a4861b5c6846eba01afacf46bac0b0
5
5
  SHA512:
6
- metadata.gz: 63058063b9fab756884953aa20c72ddd8f26255640451212cbb1b0214c195975edc7b4887ae5a1e6fac438cb9874017c10cc1e45e04862665e6c2e793d051407
7
- data.tar.gz: d41dba70453d1e711ae0b49694092d14075b4ca961b028b6d9c92e020115dbed70c2f9bc759ad40846d418416eac5663347a716bc4ebe89353da5b599d2e5aad
6
+ metadata.gz: 43f553565a5e04a49cb893f49761525a47b6e012cb083fa93fedecc7d6fad35b000e9134cbdf5a4222ff6526b8e94237bf1acbb01d1ab8bce6eb2d3ffb4320fd
7
+ data.tar.gz: 0f6a9defcf79c788cc15f2fa42fad159a0f5725eb3e3df385e74d366a0f77e9bca0c58c6251f514c17a8007d1a481f5ef880b32173d1a9a3a07fa7681105f5fa
data/README.md CHANGED
@@ -7,14 +7,21 @@
7
7
 
8
8
  # 1982
9
9
 
10
- ## Sinclair Spectrum font as a Rubygem
10
+ ## Sinclair Spectrum Stuff as a Rubygem
11
11
 
12
- A massively over-engineered solution to a problem that I'm almost 100% certain does not exist - rendering text in the 1982 Sinclair Spectrum character set, in a variety of formats
12
+ A massively over-engineered solution to a set of problems that I'm almost 100% certain do not exist
13
+
14
+ * rendering text in the 1982 Sinclair Spectrum character set, in a variety of formats
15
+ * serving all of the Spectrum's 15 colours as HTML hex colours
16
+ * serving the complete set of Spectrum error messages
17
+
18
+ ## Install
13
19
 
14
20
  git clone https://github.com/pikesley/nineteen-eighty-two
15
21
  cd nineteen-eighty-two
16
22
  bundle
17
23
  rake
24
+ rake install
18
25
 
19
26
  Or just
20
27
 
@@ -22,11 +29,13 @@ Or just
22
29
 
23
30
  ## API
24
31
 
32
+ ### Font
33
+
25
34
  From the [specs](https://github.com/pikesley/nineteen-eighty-two/tree/master/spec/nineteen/eighty/two):
26
35
 
27
- ### Just the data
36
+ #### Just the data
28
37
 
29
- #### Transform a string into an array-of-arrays of bits
38
+ ##### Transform a string into an array-of-arrays of bits
30
39
 
31
40
  require 'nineteen/eighty/two'
32
41
 
@@ -47,9 +56,9 @@ From the [specs](https://github.com/pikesley/nineteen-eighty-two/tree/master/spe
47
56
  end
48
57
  end
49
58
 
50
- ### Specific output formats
59
+ #### Specific output formats
51
60
 
52
- #### HTML table
61
+ ##### HTML table
53
62
 
54
63
  require 'nineteen/eighty/two'
55
64
 
@@ -75,7 +84,7 @@ From the [specs](https://github.com/pikesley/nineteen-eighty-two/tree/master/spe
75
84
  end
76
85
  end
77
86
 
78
- #### JSON
87
+ ##### JSON
79
88
 
80
89
  require 'nineteen/eighty/two'
81
90
 
@@ -99,7 +108,7 @@ From the [specs](https://github.com/pikesley/nineteen-eighty-two/tree/master/spe
99
108
  end
100
109
  end
101
110
 
102
- #### SVG
111
+ ##### SVG
103
112
 
104
113
  require 'nineteen/eighty/two'
105
114
 
@@ -134,7 +143,7 @@ From the [specs](https://github.com/pikesley/nineteen-eighty-two/tree/master/spe
134
143
  end
135
144
  end
136
145
 
137
- #### Text
146
+ ##### Text
138
147
 
139
148
  require 'nineteen/eighty/two'
140
149
 
@@ -173,6 +182,57 @@ From the [specs](https://github.com/pikesley/nineteen-eighty-two/tree/master/spe
173
182
  end
174
183
  end
175
184
 
185
+ ### Colours
186
+
187
+ require 'nineteen/eighty/two'
188
+
189
+ module Nineteen::Eighty::Two
190
+ describe Colours do
191
+ it 'knows what red is' do
192
+ expect(described_class['red']).to eq 'bf0000'
193
+ end
194
+
195
+ it 'knows how to make magenta' do
196
+ expect(described_class['magenta']).to eq 'bf00bf'
197
+ end
198
+
199
+ context 'BRIGHT colours' do
200
+ specify 'primary colours' do
201
+ expect(described_class['GREEN']).to eq '00ff00'
202
+ end
203
+ end
204
+
205
+ context 'method-type access' do
206
+ it 'allows method-type access' do
207
+ expect(described_class.blue).to eq '0000bf'
208
+ end
209
+ end
210
+ end
211
+ end
212
+
213
+ ### Error messages
214
+
215
+ require 'nineteen/eighty/two'
216
+
217
+ module Nineteen::Eighty::Two
218
+ describe Messages do
219
+ it 'has error messages' do
220
+ expect(described_class['R']).to eq 'R - Tape loading error'
221
+ end
222
+
223
+ it 'supports case-insensitive lookups' do
224
+ expect(described_class['c']).to eq 'C - Nonsense in BASIC'
225
+ end
226
+
227
+ it 'is polite about non-existent keys' do
228
+ expect { described_class['Z'] }.to raise_exception do |e|
229
+ expect(e).to be_an Exceptions::SpectrumException
230
+ expect(e.message).to eq 'Q - Parameter error'
231
+ end
232
+ end
233
+ end
234
+ end
235
+
176
236
  ## FAQ
177
237
 
178
238
  Your questions, answered
data/Rakefile CHANGED
@@ -6,3 +6,15 @@ Coveralls::RakeTask.new
6
6
  RSpec::Core::RakeTask.new
7
7
 
8
8
  task :default => [:spec, 'coveralls:push']
9
+
10
+ namespace :generate do
11
+ task :svg, [:text] do |t, args|
12
+ require_relative 'lib/nineteen/eighty/two'
13
+ if args[:text]
14
+ puts Nineteen::Eighty::Two::Formats::SVG.format args[:text]
15
+ else
16
+ puts 'Usage: rake generate:svg[text]'
17
+ exit 1
18
+ end
19
+ end
20
+ end
@@ -1,7 +1,7 @@
1
1
  module Nineteen
2
2
  module Eighty
3
3
  module Two
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.7"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nineteen-eighty-two
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - pikesley
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-21 00:00:00.000000000 Z
11
+ date: 2016-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erubis