efnruby 0.0.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/efnruby.rb +33 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9ad66e487237787d46ab5d31de7a2febe5e97e5e
4
+ data.tar.gz: 5958b9d8f9be85d37ddbe449e016e8f318cac893
5
+ SHA512:
6
+ metadata.gz: 86d4b11a9e3a864ef1dd2ac4e02787be754cd7af440c764cc43ceba8efa0fc6f9d70553afa91aa4821f5beadbc0db602c984f0cf6048cec5ac38a26f413e630d
7
+ data.tar.gz: 59eaba574eae3aa322dadd81541e9e3a5bf321ed690207f6a838db14f1c39d804103b24c696c68c8a86dd03db6a5509246b2dc209de3e3680c47b87825f8471b
data/lib/efnruby.rb ADDED
@@ -0,0 +1,33 @@
1
+ module EfnRuby
2
+ def self.included(base)
3
+ base.class_eval do
4
+ def sfn(name, &block)
5
+ self.class.send(:define_method, name, block)
6
+ end
7
+
8
+ def fn(name, type=:inst, &block)
9
+ if type == :static
10
+ self.class.send(:define_method, name, block)
11
+ else
12
+ define_method name, block
13
+ end
14
+ end
15
+
16
+ def var(name, *options)
17
+ if options.include? :get
18
+ if options.include? :set
19
+ attr_accessor name
20
+ else
21
+ attr_reader name
22
+ end
23
+ elsif options.include? :set
24
+ attr_writer name
25
+ else
26
+ attr_accessor name
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ BasicObject.send(:include, EfnRuby)
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: efnruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Will Richardson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-23 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Turns functions into blocks and stuff
14
+ email: william.hamish@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/efnruby.rb
20
+ homepage: http://javanut.net/efnruby
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.4.8
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Makes Ruby efn weird
44
+ test_files: []