efnruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []