Sha256: da8ec5ff439e75ce56f4edae56abcda780dbc6b92cf3a0f61c0f65cb9980085c
Contents?: true
Size: 745 Bytes
Versions: 6
Compression:
Stored size: 745 Bytes
Contents
class IB::Parser def find_all(dir) all = {} Dir.glob("#{dir}/**/*.rb") do |file| if info = find(file) all[file] = info end end all end def find(path) src = File.read(path) info = {class: find_class(src)} return false if info[:class].length == 0 info[:outlets] = find_outlets(src) info[:actions] = find_actions(src) info[:path] = path info end def find_class src src.scan /^\s*class\s+([a-zA-Z][_a-zA-Z0-9]+)\s*<\s*([a-zA-Z][_a-zA-Z0-9]+)/ end def find_outlets src src.scan /^\s+ib_outlet\s+:([a-zA-Z][_a-zA-Z0-9]*)\s*?,\s*['"]?([a-zA-Z][_a-zA-Z0-9]+)/ end def find_actions src src.scan /^\s+ib_action\s+:([a-zA-Z][_a-zA-Z0-9]*)/ end end
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
ib-0.1.0 | lib/ib/parser.rb |
ib-0.0.5 | lib/ib/parser.rb |
ib-0.0.4 | lib/ib/parser.rb |
ib-0.0.3 | lib/ib/parser.rb |
ib-0.0.2 | lib/ib/parser.rb |
ib-0.0.1 | lib/ib/parser.rb |