<commit_before># ParentClass which have the attrs to create the links
class JustShare::SocialLinker
  # Attrs accessor for it classes
  attr_accessor :message # Base Message (like from the Ad.social_message)
  attr_accessor :link # The redirect link on the post
  attr_accessor :via # The app which post like: PageRenter

  # Attrs filled on children
  attr_accessor :domain # ex: facebook.com twitter.com ...
  attr_accessor :path # ex: facebook.com twitter.com ...
  attr_accessor :params # ex: facebook.com twitter.com ...

  # It constructor must be reused by it children
  def initialize(params={})
    # SetUp the attrs
    self.via=params[:via] || self.via=JustShare.via
    self.link=params[:link] || self.link=JustShare.link
    self.message=params[:message] || self.message=JustShare.message
  end

  # FacadeMethod
  def get_post_link
    # SetUp attrs
    setup_attrs
    # Create & return it URL created
    "#{self.domain}/#{self.path}?#{params}"
  end

  # Method to be implemented on it children!
  def setup_attrs
  end
end<commit_msg>hash_tags attr being set correctly<commit_after># ParentClass which have the attrs to create the links
class JustShare::SocialLinker
  # Attrs accessor for it classes
  attr_accessor :message # Base Message (like from the Ad.social_message)
  attr_accessor :link # The redirect link on the post
  attr_accessor :via # The app which post like: PageRenter
  attr_accessor :hash_tags # Array of HashTags, like nature, sunset, HereWeGo...

  # Attrs filled on children
  attr_accessor :domain # ex: facebook.com twitter.com ...
  attr_accessor :path # ex: facebook.com twitter.com ...
  attr_accessor :params # ex: facebook.com twitter.com ...

  # It constructor must be reused by it children
  def initialize(params={})
    # SetUp the attrs
    self.via=params[:via] || self.via=JustShare.via
    self.link=params[:link] || self.link=JustShare.link
    self.message=params[:message] || self.message=JustShare.message
    self.hash_tags=params[:hash_tags] || self.hash_tags=JustShare.hash_tags
  end

  # FacadeMethod
  def get_post_link
    # SetUp attrs
    setup_attrs
    # Create & return it URL created
    "#{self.domain}/#{self.path}?#{params}"
  end

  # Method to be implemented on it children!
  def setup_attrs
  end
end
{'fraction_non_alphanumeric': 0.09553023663453111, 'fraction_numerical': 0.0, 'mean_word_length': 3.8164556962025316, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '904044', 'n_tokens_mistral': 718, 'n_tokens_neox': 704, 'n_words': 222}