Module: Linggle

Defined in:
lib/linggle.rb,
lib/linggle/api.rb,
lib/linggle/version.rb,
lib/linggle/help_doc.rb

Overview

Defined Under Namespace

Classes: Api

Constant Summary collapse

API_BASE =
'http://linggle.com'.freeze
STORE_PATH =
"#{ENV['HOME']}/linggle_cli".freeze
TIMEOUT =
3
COLORS =
{
  e: :yellow, # example
  t: :blue # title
}
VERSION =
"0.04.3"
HELPS =
{
  '_' => <<-DOC,

'?' => <<-DOC,

'/' => <<-DOC,

'w.' => <<-DOC,

'more' => <<-DOC,
}.freeze

Class Method Summary collapse

Class Method Details

.executeObject

Your code goes here…



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/linggle.rb', line 15

def self.execute()
  args =  parse()
  return if args.nil? && args.size < 1
  query_str = args.drop(0).join(' ')

  results = Api.new.query(query_str)
=begin
   {
       "query": "go ?to schoo",
       "time": 1534167385507,
       "ngrams": [
           ["go to school", 667988],
           ["go school", 6137]
        ],
        "total": 674125
    }
=end
  results['ngrams'].take(20).each do |x|
    percent = ( (x[1].to_f/results['total']).round(2) * 100 ).to_s
    puts "#{x[0].green}   Percent: #{percent.yellow}  #{x[1]} \n #{percent.percent_line} \n \n"
  end
end

.parseObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/linggle.rb', line 39

def self.parse()
  OptionParser.new do |parser|

    parser.banner = 'Linggle Command Line Interface:\n availale options: \n \n'
    if ARGV.size == 0
      puts parser
      puts HELPS.map{|k,v| v }
      exit 0
    end

    parser.on("-u", "--usage", 'Show  Usages') do
      puts HELPS.map{|k,v| v }
      exit 0
    end

    parser.on("-h", "--help", 'Show This Help') do
      puts parser
      puts HELPS.map{|k,v| v }
    end

    parser.on('-V', '--version', 'Show Version') do
      puts "Linggle CLI Version: #{VERSION}"
      exit 0
    end


    parser
  end.parse!

end