metaxa 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +12 -0
- data/README.md +1 -1
- data/bin/console +3 -10
- data/bin/test +3 -1
- data/examples/colors.rb +4 -2
- data/examples/dynamic_structure.rb +20 -0
- data/lib/metaxa.rb +13 -15
- data/lib/metaxa/version.rb +1 -1
- data/metaxa.gemspec +19 -15
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d51e4f66d3f3b0a730793fe868924b0085cdb50c
|
4
|
+
data.tar.gz: 3076ce82abe7451a9a8be52e7cf66229a5b205ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3a32f1cd1fc54df1e5ede9f90d9a59d687c3f8e1e0f8b7950cc6111ed09031dd8ffd6471eb530b531fa3e141e1125caa316062ed9247974d79f324112d74f66
|
7
|
+
data.tar.gz: 63fe77f5285d1575697b6cc3839f029ad33474a0aacdf6700644508515c7fef37c9ac69360d3257133349b899a547a3d81cf272d68cafe7d5e85a3114d885ec7
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2016-10-13 15:07:46 +0200 using RuboCop version 0.43.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
Style/Documentation:
|
11
|
+
Exclude:
|
12
|
+
- '**/*'
|
data/README.md
CHANGED
data/bin/console
CHANGED
@@ -1,15 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
|
7
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
8
|
-
# with your gem easier. You can also use a different console, if you like.
|
9
|
-
|
10
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
11
|
-
# require "pry"
|
12
|
-
# Pry.start
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'metaxa'
|
5
|
+
require 'pry'
|
13
6
|
|
14
7
|
include Metaxa
|
15
8
|
|
data/bin/test
CHANGED
data/examples/colors.rb
CHANGED
@@ -9,7 +9,9 @@ require 'json'
|
|
9
9
|
|
10
10
|
include Metaxa
|
11
11
|
|
12
|
-
|
12
|
+
URL = 'http://www.colourlovers.com/api/colors?format=json&numResults=30'.freez
|
13
|
+
|
14
|
+
colors = HTTParty.get(URL).tap do |res|
|
13
15
|
JSON.parse(res.body)
|
14
16
|
end
|
15
17
|
|
@@ -20,7 +22,7 @@ end
|
|
20
22
|
|
21
23
|
introduce :colors, with_value: colors.map { |c| c['name'].to_sym }
|
22
24
|
|
23
|
-
Pry.start
|
25
|
+
Pry.start # Now you can start typing color names
|
24
26
|
|
25
27
|
# Usage:
|
26
28
|
#
|
@@ -0,0 +1,20 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
|
+
|
3
|
+
require 'metaxa'
|
4
|
+
|
5
|
+
class Entity
|
6
|
+
include Metaxa
|
7
|
+
|
8
|
+
def extend_with(params)
|
9
|
+
params.each do |k, v|
|
10
|
+
introduce k, with_value: v
|
11
|
+
end
|
12
|
+
self
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
entity = Entity.new.extend_with(name: 'John', age: rand(100), sex: 'M')
|
17
|
+
|
18
|
+
puts entity.name # => John
|
19
|
+
puts entity.age # => 0..100
|
20
|
+
puts entity.sex # => M
|
data/lib/metaxa.rb
CHANGED
@@ -1,23 +1,21 @@
|
|
1
1
|
require 'metaxa/version'
|
2
2
|
|
3
3
|
module Metaxa
|
4
|
+
def introduce(variable, with_value: true)
|
5
|
+
var_module = Module.new do
|
6
|
+
attr_accessor variable.to_sym
|
7
|
+
end
|
4
8
|
|
5
|
-
|
6
|
-
var_module = Module.new do
|
7
|
-
attr_accessor variable.to_sym
|
8
|
-
end
|
9
|
+
extend var_module
|
9
10
|
|
10
|
-
|
11
|
+
set(variable, with_value)
|
12
|
+
end
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
def get(variable)
|
16
|
-
instance_variable_get "@#{variable}"
|
17
|
-
end
|
18
|
-
|
19
|
-
def set(variable, value)
|
20
|
-
instance_variable_set "@#{variable}", value
|
21
|
-
end
|
14
|
+
def get(variable)
|
15
|
+
instance_variable_get("@#{variable}")
|
16
|
+
end
|
22
17
|
|
18
|
+
def set(variable, value)
|
19
|
+
instance_variable_set("@#{variable}", value)
|
20
|
+
end
|
23
21
|
end
|
data/lib/metaxa/version.rb
CHANGED
data/metaxa.gemspec
CHANGED
@@ -4,24 +4,28 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'metaxa/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'metaxa'
|
8
8
|
spec.version = Metaxa::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['Mckomo']
|
10
|
+
spec.email = ['mckomo@gmail.com']
|
11
11
|
|
12
|
-
spec.summary =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
12
|
+
spec.summary = 'Introduce dynamic variables in the main scope'
|
13
|
+
spec.homepage = 'https://github.com/mckomo/metaxa'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
|
-
spec.files = `git ls-files -z
|
17
|
-
|
16
|
+
spec.files = `git ls-files -z`
|
17
|
+
.split("\x0")
|
18
|
+
.reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
|
+
|
20
|
+
spec.bindir = 'exe'
|
18
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
-
spec.require_paths = [
|
22
|
+
spec.require_paths = ['lib']
|
20
23
|
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.11'
|
25
|
+
spec.add_development_dependency 'httparty', '~> 0.14'
|
26
|
+
spec.add_development_dependency 'test-unit', '~> 3.2'
|
27
|
+
spec.add_development_dependency 'colorize', '~> 0.7'
|
28
|
+
spec.add_development_dependency 'pry', '~> 0.10'
|
29
|
+
spec.add_development_dependency 'activesupport', '~> 5.0'
|
30
|
+
spec.add_development_dependency 'rubocop', '~> 0.41'
|
27
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metaxa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mckomo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '5.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.41'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.41'
|
97
111
|
description:
|
98
112
|
email:
|
99
113
|
- mckomo@gmail.com
|
@@ -103,6 +117,8 @@ extra_rdoc_files: []
|
|
103
117
|
files:
|
104
118
|
- ".gitignore"
|
105
119
|
- ".rspec"
|
120
|
+
- ".rubocop.yml"
|
121
|
+
- ".rubocop_todo.yml"
|
106
122
|
- ".travis.yml"
|
107
123
|
- CODE_OF_CONDUCT.md
|
108
124
|
- Gemfile
|
@@ -112,6 +128,7 @@ files:
|
|
112
128
|
- bin/setup
|
113
129
|
- bin/test
|
114
130
|
- examples/colors.rb
|
131
|
+
- examples/dynamic_structure.rb
|
115
132
|
- lib/metaxa.rb
|
116
133
|
- lib/metaxa/version.rb
|
117
134
|
- metaxa.gemspec
|