Sha256: 3447bcc867a5f48fb3ec15e641a6d711bef479fb63d6422beb085d8c892c7011

Contents?: true

Size: 637 Bytes

Versions: 19

Compression:

Stored size: 637 Bytes

Contents




attr_accessor_predicate :hasAndOp, :andOpProcessed
def inDirectParen?
	prev.kind == :on_lparen && next.kind == :on_rparen
end

def checkAndOp
	if hasAndOp? && !andOpProcessed? && !inDirectParen? && %i{on_ident on_const ' "}.include?(dprev)
		Token.addMod tb.last, "("
		Token.addMod t.first, ")"
		@andOpProcessed = true
	end
end

Modules :And, :Or, :Not do
	MethodChain.override do
		def onClassify
			super
			if [:on_lbracket, :on_lparen].include?(parent)
				parent.hasAndOp = true
			end
		end
	end
end

Modules :OnRparen, :OnRbracket do
	MethodChain.override do
		def onClassify
			super
			beginner.checkAndOp
		end
	end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
YkLib-0.1.8.9 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.8 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.7 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.6 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.5 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.4 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.3 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.2 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8.1 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.8 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.7.1 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.7 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.6 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.5 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.4 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.3 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.2 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.1 lib/Yk/indenter/parenless_and.rb
YkLib-0.1.0 lib/YkLib/Yk/indenter/parenless_and.rb