magic_data 0.0.2 → 1.0.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.
- checksums.yaml +4 -4
- data/README.md +54 -9
- data/lib/magic_data/magic_data.rb +5 -8
- data/lib/magic_data/version.rb +1 -1
- data/magic_data.gemspec +0 -2
- metadata +2 -23
- data/magic_data-0.0.1.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b2598a95b609d895213d7d23519d5dd1d3766b9
|
4
|
+
data.tar.gz: 92c5ec99aadad9e20bc3b597cf2a8dc989055cb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3b4ee8565fce57d122f174a26cfba33c29ec9bbaaaf800c2ee8acc257a4471f0cdafc6b75631a7db8d5faedb8b1f7e1bc9085677e3920966ccf2b3856a9a40f
|
7
|
+
data.tar.gz: cea1ed720b708efc8d147356f80a7852d0234c60023ee1e37e08abea530ead2eb09c1c577f7c6a030c9890de7530dbbfafa94145271b7ce578796097c7bda40e
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# Magic Data
|
2
2
|
|
3
|
-
|
3
|
+
Magic Data is a lean and un-opinionated data generator where you provide the generation techniques! Generators can be set as a block or as a static value. Data generation is handled by requesting a specifc key or modifying a passed in hash. Most importantly, Magic Data supports retrieving the most recently generated value of any key!
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -10,17 +10,63 @@ Add this line to your application's Gemfile:
|
|
10
10
|
gem 'magic_data'
|
11
11
|
```
|
12
12
|
|
13
|
-
|
13
|
+
## Usage
|
14
14
|
|
15
|
-
|
15
|
+
##### Creating generators with a block
|
16
|
+
```ruby
|
17
|
+
MagicData.set('~username') {rand(36**10).to_s(36) << '.51d281ef@mailosaur.io'}
|
18
|
+
MagicData.set('~password') {rand(36**10).to_s(36)}
|
19
|
+
```
|
16
20
|
|
17
|
-
|
21
|
+
##### Creating generators with a static value
|
22
|
+
```ruby
|
23
|
+
MagicData.set('~existing_username', 'tk8817@test.com')
|
24
|
+
MagicData.set('~existing_username', FigNewton.existing_password) #example uses Cheezy's FigNewton lib
|
25
|
+
```
|
18
26
|
|
19
|
-
|
27
|
+
##### Invoking block generators
|
28
|
+
This will return a value generated from the block provided during creation
|
29
|
+
```ruby
|
30
|
+
MagicData.get('~username')
|
31
|
+
# => ch3jdb68sjhnss21.51d281ef@mailosaur.io
|
20
32
|
|
21
|
-
|
33
|
+
MagicData.get('~username')
|
34
|
+
# => h4dnsah28s2hs27hd3.51d281ef@mailosaur.io
|
35
|
+
```
|
22
36
|
|
23
|
-
|
37
|
+
##### Retrieving latest block generated value
|
38
|
+
```ruby
|
39
|
+
MagicData.get_latest('~username')
|
40
|
+
# => h4dnsah28s2hs27hd3.51d281ef@mailosaur.io
|
41
|
+
```
|
42
|
+
|
43
|
+
##### Modifying hash with magic_data (return full hash)
|
44
|
+
```ruby
|
45
|
+
input = {user_login: '~username', user_password: '~password', user_phone: '555-555-5555'}
|
46
|
+
MagicData.process(input)
|
47
|
+
# => {user_login: 'vb39hsb2s.51d281ef@mailosaur.io', user_password: '9fj4h3hnssoqlks', user_phone: '555-555-5555'}
|
48
|
+
```
|
49
|
+
|
50
|
+
##### Modifying hash with magic_data (return only modified data)
|
51
|
+
```ruby
|
52
|
+
input = {user_login: '~username', user_password: '~password', user_phone: '555-555-5555'}
|
53
|
+
MagicData.process(input, true)
|
54
|
+
# => {user_login: 'dh2nsh17ahs.51d281ef@mailosaur.io', user_password: 'k4jn60d2ja'}
|
55
|
+
```
|
56
|
+
|
57
|
+
##### Invoking static value
|
58
|
+
This will return the static value set during creation
|
59
|
+
```ruby
|
60
|
+
MagicData.get('~existing_username')
|
61
|
+
# => tk8817@test.com
|
62
|
+
```
|
63
|
+
|
64
|
+
##### Retrieving latest static value
|
65
|
+
There is not much value in this, but you can do it.
|
66
|
+
```ruby
|
67
|
+
MagicData.get__latest('~existing_username')
|
68
|
+
# => tk8817@test.com
|
69
|
+
```
|
24
70
|
|
25
71
|
## Development
|
26
72
|
|
@@ -28,4 +74,3 @@ TODO: Write usage instructions here
|
|
28
74
|
## License
|
29
75
|
|
30
76
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
31
|
-
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require 'magic_logger'
|
4
|
-
|
5
3
|
class MagicData
|
6
4
|
|
7
5
|
@magic={}
|
@@ -9,25 +7,24 @@ class MagicData
|
|
9
7
|
|
10
8
|
class << self
|
11
9
|
|
12
|
-
def
|
10
|
+
def process(fields, diff_only=false)
|
13
11
|
modified = {}
|
14
12
|
fields.each do |key, value|
|
15
|
-
@saved["latest_#{value}"]= modified[key] = @magic[value].call if @
|
13
|
+
@saved["latest_#{value}"]= modified[key] = @magic[value].call if @MagicData.key?(value)
|
16
14
|
modified[key] = @saved[value] if @saved.key?(value)
|
17
15
|
end
|
18
|
-
|
19
|
-
fields.merge(modified)
|
16
|
+
diff_only ? modified : fields.merge(modified)
|
20
17
|
end
|
21
18
|
|
22
19
|
def set(key, value = nil, &block)
|
23
20
|
@magic[key] = block_given? ? block : lambda { "#{value}" }
|
24
21
|
end
|
25
22
|
|
26
|
-
def
|
23
|
+
def get(key)
|
27
24
|
@magic[key].call
|
28
25
|
end
|
29
26
|
|
30
|
-
def
|
27
|
+
def get_latest(key)
|
31
28
|
@saved["latest_#{key}"]
|
32
29
|
end
|
33
30
|
|
data/lib/magic_data/version.rb
CHANGED
data/magic_data.gemspec
CHANGED
@@ -17,8 +17,6 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.platform = Gem::Platform::RUBY
|
18
18
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ['lib']
|
20
|
-
|
21
|
-
spec.add_runtime_dependency 'magic_logger', '~> 0.0', '>= 0.0.2'
|
22
20
|
end
|
23
21
|
|
24
22
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magic_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Commu
|
@@ -9,27 +9,7 @@ autorequire:
|
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
11
|
date: 2016-05-29 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: magic_logger
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.0'
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.0.2
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0.0'
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 0.0.2
|
12
|
+
dependencies: []
|
33
13
|
description: magic_data allows a user to setup dynamic keys at runtime and lets them
|
34
14
|
retrieve the most recently generated value
|
35
15
|
email:
|
@@ -45,7 +25,6 @@ files:
|
|
45
25
|
- lib/magic_data.rb
|
46
26
|
- lib/magic_data/magic_data.rb
|
47
27
|
- lib/magic_data/version.rb
|
48
|
-
- magic_data-0.0.1.gem
|
49
28
|
- magic_data.gemspec
|
50
29
|
homepage: https://loblawdigital.ca
|
51
30
|
licenses:
|
data/magic_data-0.0.1.gem
DELETED
Binary file
|