nilac 0.0.4.2.5 → 0.0.4.2.6

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 (4) hide show
  1. data/bin/nilac +30 -2
  2. data/lib/nilac/version.rb +1 -1
  3. data/src/nilac.rb +30 -2
  4. metadata +1 -1
data/bin/nilac CHANGED
@@ -1973,6 +1973,32 @@ def compile(input_file_path, *output_file_name)
1973
1973
 
1974
1974
  end
1975
1975
 
1976
+ def compile_ternary_if(input_file_contents)
1977
+
1978
+ possible_ternary_if = input_file_contents.reject{|element| !element.include?("if")}
1979
+
1980
+ possible_ternary_if = possible_ternary_if.reject {|element| !element.include?("then")}
1981
+
1982
+ possible_ternary_if.each do |statement|
1983
+
1984
+ statement_extract = statement[statement.index("if")..statement.index("end")+2]
1985
+
1986
+ condition = statement_extract.split("then")[0].split("if")[1].lstrip.rstrip
1987
+
1988
+ true_condition = statement_extract.split("then")[1].split("else")[0].lstrip.rstrip
1989
+
1990
+ false_condition = statement_extract.split("else")[1].split("end")[0].lstrip.rstrip
1991
+
1992
+ replacement_string = "#{condition} ? #{true_condition} : #{false_condition}"
1993
+
1994
+ input_file_contents[input_file_contents.index(statement)] = input_file_contents[input_file_contents.index(statement)].sub(statement_extract,replacement_string)
1995
+
1996
+ end
1997
+
1998
+ return input_file_contents
1999
+
2000
+ end
2001
+
1976
2002
  def compile_inline_conditionals(input_file_contents, temporary_nila_file)
1977
2003
 
1978
2004
  conditionals = [/( if )/, /( while )/, /( unless )/, /( until )/]
@@ -2935,7 +2961,9 @@ def compile(input_file_path, *output_file_name)
2935
2961
 
2936
2962
  end
2937
2963
 
2938
- file_contents, rejected_lines = ignore_statement_modifiers(input_file_contents)
2964
+ file_contents = compile_ternary_if(input_file_contents)
2965
+
2966
+ file_contents, rejected_lines = ignore_statement_modifiers(file_contents)
2939
2967
 
2940
2968
  file_contents = replace_unless_until(file_contents)
2941
2969
 
@@ -3745,7 +3773,7 @@ def find_file_path(input_path, file_extension)
3745
3773
 
3746
3774
  end
3747
3775
 
3748
- nilac_version = "0.0.4.2.5"
3776
+ nilac_version = "0.0.4.2.6"
3749
3777
 
3750
3778
  opts = Slop.parse do
3751
3779
  on :c, :compile=, 'Compile Nila File', as:Array, delimiter:":"
data/lib/nilac/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nilac
2
- VERSION = "0.0.4.2.5"
2
+ VERSION = "0.0.4.2.6"
3
3
  end
data/src/nilac.rb CHANGED
@@ -1971,6 +1971,32 @@ def compile(input_file_path, *output_file_name)
1971
1971
 
1972
1972
  end
1973
1973
 
1974
+ def compile_ternary_if(input_file_contents)
1975
+
1976
+ possible_ternary_if = input_file_contents.reject{|element| !element.include?("if")}
1977
+
1978
+ possible_ternary_if = possible_ternary_if.reject {|element| !element.include?("then")}
1979
+
1980
+ possible_ternary_if.each do |statement|
1981
+
1982
+ statement_extract = statement[statement.index("if")..statement.index("end")+2]
1983
+
1984
+ condition = statement_extract.split("then")[0].split("if")[1].lstrip.rstrip
1985
+
1986
+ true_condition = statement_extract.split("then")[1].split("else")[0].lstrip.rstrip
1987
+
1988
+ false_condition = statement_extract.split("else")[1].split("end")[0].lstrip.rstrip
1989
+
1990
+ replacement_string = "#{condition} ? #{true_condition} : #{false_condition}"
1991
+
1992
+ input_file_contents[input_file_contents.index(statement)] = input_file_contents[input_file_contents.index(statement)].sub(statement_extract,replacement_string)
1993
+
1994
+ end
1995
+
1996
+ return input_file_contents
1997
+
1998
+ end
1999
+
1974
2000
  def compile_inline_conditionals(input_file_contents, temporary_nila_file)
1975
2001
 
1976
2002
  conditionals = [/( if )/, /( while )/, /( unless )/, /( until )/]
@@ -2933,7 +2959,9 @@ def compile(input_file_path, *output_file_name)
2933
2959
 
2934
2960
  end
2935
2961
 
2936
- file_contents, rejected_lines = ignore_statement_modifiers(input_file_contents)
2962
+ file_contents = compile_ternary_if(input_file_contents)
2963
+
2964
+ file_contents, rejected_lines = ignore_statement_modifiers(file_contents)
2937
2965
 
2938
2966
  file_contents = replace_unless_until(file_contents)
2939
2967
 
@@ -3743,7 +3771,7 @@ def find_file_path(input_path, file_extension)
3743
3771
 
3744
3772
  end
3745
3773
 
3746
- nilac_version = "0.0.4.2.5"
3774
+ nilac_version = "0.0.4.2.6"
3747
3775
 
3748
3776
  opts = Slop.parse do
3749
3777
  on :c, :compile=, 'Compile Nila File', as:Array, delimiter:":"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nilac
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4.2.5
4
+ version: 0.0.4.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: